API Reference ## Sections • [Shieldpay API](https://developers.shieldpay.com/api-reference/shieldpay-professional-services-api.md): Shieldpay's API enables you to programmatically manage your payment workflows from end to end. You can create projects, manage payers and payees, and authorise payments to disburse funds securely. This documentation covers the API Endpoints and Webhooks available to integrate with. For documentation, including the API fundamentals and authentication, see our Getting Started docs. If you need help at any point, please email our Technical Support team at integrationsupport@shieldpay.com . • [Retrieve all the Project's](https://developers.shieldpay.com/api-reference/projects/retrieve-all-the-project-s.md): Returns a collection of all Projects associated with the API user. • [Add a Project v1](https://developers.shieldpay.com/api-reference/projects/add-a-project-v1.md): Add different types of Projects into the system. *check Project Types resource for more information. • [Retrieve a Project](https://developers.shieldpay.com/api-reference/projects/retrieve-a-project.md): Returns all details of a specific Project based on the Project ID. • [Update a project](https://developers.shieldpay.com/api-reference/projects/update-a-project.md): Amend a Project's details based on the Project ID. • [Retrieve all Transactions](https://developers.shieldpay.com/api-reference/projects/retrieve-all-transactions.md): Returns a collection of all Transactions associated with a Project based on the Project ID. • [Add a user](https://developers.shieldpay.com/api-reference/projects/add-a-user.md): Add a User to a specific Project based on Project ID and User ID, includes setting the specific user permissions and their approval role. • [Remove a user](https://developers.shieldpay.com/api-reference/projects/remove-a-user.md): Remove a User from a specific Project using Project ID and User ID. • [List all users](https://developers.shieldpay.com/api-reference/projects/list-all-users.md): Get a collection of all Users associated with a specific Project based on the Project ID. • [Request OTP to approve all the Uses based on the Project ID](https://developers.shieldpay.com/api-reference/projects/request-otp-to-approve-all-the-uses-based-on-the-project-id.md) • [Approve all the Uses associated to a Project based on the Project ID.](https://developers.shieldpay.com/api-reference/projects/approve-all-the-uses-associated-to-a-project-based-on-the-project-id.md) • [Upload a file](https://developers.shieldpay.com/api-reference/projects/upload-a-file.md): Upload a file to a specific project based on Project ID. • [Add a Project v2](https://developers.shieldpay.com/api-reference/projects/add-a-project-v2.md): Add different types of Projects into the system. *check Project Types resource for more information. Use this version of the Project API for Hybrid Verify. • [Retrieve all users](https://developers.shieldpay.com/api-reference/users/retrieve-all-users.md): Returns a collection of all Users associated with an Organization. • [Add a user](https://developers.shieldpay.com/api-reference/users/add-a-user.md): Add a new User, note that they will be associated with the current Organization using the API. • [Retrieve a user](https://developers.shieldpay.com/api-reference/users/retrieve-a-user.md): Returns a specific User based on the User ID. • [Update a user](https://developers.shieldpay.com/api-reference/users/update-a-user.md): Amend a User's details based on the User ID. • [Retrieve all projects associated with a user](https://developers.shieldpay.com/api-reference/users/retrieve-all-projects-associated-with-a-user.md) • [Retrieve all transactions associated with a user](https://developers.shieldpay.com/api-reference/users/retrieve-all-transactions-associated-with-a-user.md) • [Retrieve an organization](https://developers.shieldpay.com/api-reference/organizations/retrieve-an-organization.md): Returns a specific Organization's details based on the organization ID. • [Update an organization](https://developers.shieldpay.com/api-reference/organizations/update-an-organization.md): Amend an Organization's details based on the organization ID. • [Retrieve all users of an organization](https://developers.shieldpay.com/api-reference/organizations/retrieve-all-users-of-an-organization.md): Returns a collection of all Users associated with a specific Organization based on the organization ID. • [Retrieve all projects of an organization](https://developers.shieldpay.com/api-reference/organizations/retrieve-all-projects-of-an-organization.md): Returns a collection of all Projects associated with a specific Organization based on the organization ID. • [Retrieve all transactions of an organization](https://developers.shieldpay.com/api-reference/organizations/retrieve-all-transactions-of-an-organization.md): Returns a collection of all Transactions associated with a specific Organization • [Add a payer (TO BE DEPRECATED)](https://developers.shieldpay.com/api-reference/payers/add-a-payer.md): Add a new Payer to a project. See https://app.theneo.io/shieldpay/api-reference/payers-copy • [Retrieve a payer](https://developers.shieldpay.com/api-reference/payers/retrieve-a-payer.md): Fetch a Payer's details based on the Payer ID. *A full list of Payers associated with a Project can be fetched through from the Projects resource. • [Update a payer](https://developers.shieldpay.com/api-reference/payers/update-a-payer.md): Amend a specific Payer based on the Payer ID. • [Add a payer](https://developers.shieldpay.com/api-reference/payers-copy/add-a-payer-copy.md): Add a new Payer to a project. Mandatory fields for a payer depend on the type chosen and will be validated sychronously: For customerTypeId : 1, firstName , lastName , dateOfBirth are mandatory in addition to other mandatory fields. For customerTypeId : 2, companyName is mandatory in addition to other mandatory fields. • [Create/add a new payee to a Project.](https://developers.shieldpay.com/api-reference/payees-v2/create-add-a-new-payee-to-a-project.md) • [Retrieve a payee](https://developers.shieldpay.com/api-reference/payees-v2/retrieve-a-payee.md) • [Update a payee](https://developers.shieldpay.com/api-reference/payees-v2/update-a-payee.md): Amend details of a specific Payee based on the Payee ID. • [Create/add a new payee to a Project.](https://developers.shieldpay.com/api-reference/payees-v3/create-add-a-new-payee-to-a-project.md) • [Retrieve a payee](https://developers.shieldpay.com/api-reference/payees-v3/retrieve-a-payee.md) • [Update a payee](https://developers.shieldpay.com/api-reference/payees-v3/update-a-payee.md): Amend details of a specific Payee based on the Payee ID. • [Approve payee(s)](https://developers.shieldpay.com/api-reference/payees-v3/approve-payee-s.md): Approve Payee(s) associated to a Project based on the Payee ID. • [Request OTP PIN to approve payee(s)](https://developers.shieldpay.com/api-reference/payees-v3/request-otp-pin-to-approve-payee-s.md): Request OTP to approve Payee(s) associated to a Project based on the Payee ID. • [Repeat Party](https://developers.shieldpay.com/api-reference/repeat-party.md): Creates a new payment out (Use) or payment in (Source) by duplicating one that already completed, carrying over the party's identity and bank details exactly as they were verified the first time. Only the amount and description are new. A single endpoint serves both directions. Shieldpay resolves transactionId to either a Use or a Source and responds accordingly. Exactly one of useId / sourceId is returned; the other is omitted. Eligibility Only a completed, verified line can be repeated. A line still awaiting authorisation, failed, or unverified is rejected and will error. What carries over, what does not The record and its bank account are used from the original line and cannot be altered through this endpoint: name, entity type, email address, date of birth or incorporation, country, company registration number and registered name, plus bank name, bank country, account number and sort code. To change any of them, create a new payee or payer instead; amount and description are the only values you may supply differently. Target project The projectId is the project the new line is created in, and need not be the project the original transaction belongs to. This is how a party verified on one project is reused on another. Following a successful request The new line is created in the same unauthorised state as any other new payee or payer line and still runs through verification before it can be authorised. Because the bank account was verified previously, verification normally settles faster than it does for a brand-new party. Authorise the line with PUT /v3/payees/approve as usual. • [Retrieve list of all currencies](https://developers.shieldpay.com/api-reference/currencies/retrieve-list-of-all-currencies.md): Returns a collection of all available Currencies. • [Retrieve a currency](https://developers.shieldpay.com/api-reference/currencies/retrieve-a-currency.md): Returns data for a specific Currency based on the Currency ID. • [Retrieve list of all customer types](https://developers.shieldpay.com/api-reference/customer-types/retrieve-list-of-all-customer-types.md): Returns a collection of all available Customer Types. • [Retrieve a customer type](https://developers.shieldpay.com/api-reference/customer-types/retrieve-a-customer-type.md): Returns data for a specific Customer Type based on the Customer Type ID. • [Retrieve list of all project statuses](https://developers.shieldpay.com/api-reference/project-statuses/retrieve-list-of-all-project-statuses.md): Returns a collection of all available Project Statuses. • [Retrieve a project status](https://developers.shieldpay.com/api-reference/project-statuses/retrieve-a-project-status.md): Returns data for a specific Project Status based on the Project Status ID. • [Retrieve list of all fund statuses](https://developers.shieldpay.com/api-reference/fund-statuses/retrieve-list-of-all-fund-statuses.md): Returns a collection of all available Fund Statuses. • [Retrieve a fund status](https://developers.shieldpay.com/api-reference/fund-statuses/retrieve-a-fund-status.md): Returns data for a specific Fund Status based on the Fund Status ID. • [Retrieve list of all project types](https://developers.shieldpay.com/api-reference/project-types/retrieve-list-of-all-project-types.md): Returns a collection of all available Project Types. • [Retrieve a project type](https://developers.shieldpay.com/api-reference/project-types/retrieve-a-project-type.md): Returns data for a specific Project Type based on the Project Type ID. • [Retrieve list of all payment statuses](https://developers.shieldpay.com/api-reference/payment-statuses/retrieve-list-of-all-payment-statuses.md): Returns a collection of all available Payment Statuses. • [Retrieve a payment status](https://developers.shieldpay.com/api-reference/payment-statuses/retrieve-a-payment-status.md): Returns data for a specific Payment Status based on the Payment Status ID. • [Retrieve list of all Account holders](https://developers.shieldpay.com/api-reference/account-holders/retrieve-list-of-all-account-holders.md): Returns a collection of all Account Holder Types currently set-up in the platform. e.g. Individual, Business • [Retrieve a Account holder](https://developers.shieldpay.com/api-reference/account-holders/retrieve-a-account-holder.md): Returns data for a specific Account Holder Type based on the Account Holder Type ID. • [Retrieve list of all country codes](https://developers.shieldpay.com/api-reference/country-codes/retrieve-list-of-all-country-codes.md): Returns a List of all Country codes associated with the API user. • [Retrieve a country code](https://developers.shieldpay.com/api-reference/country-codes/retrieve-a-country-code.md): Returns data for a specific Country code based on the Country Code ID. • [Add a source](https://developers.shieldpay.com/api-reference/sources-to-be-deprecated/add-a-source.md): Add a new Source to a project. • [Retrieve a source](https://developers.shieldpay.com/api-reference/sources-to-be-deprecated/retrieve-a-source.md): Fetch a Source's details based on the Source ID. *A full list of Sources associated with a Project can be fetched through from the Projects resource. • [Update a source](https://developers.shieldpay.com/api-reference/sources-to-be-deprecated/update-a-source.md): Amend a specific Source based on the Source ID. • [Add a use](https://developers.shieldpay.com/api-reference/uses-to-be-deprecated/add-a-use.md): Add a new Use to a Project. • [Retrieve a use](https://developers.shieldpay.com/api-reference/uses-to-be-deprecated/retrieve-a-use.md) • [Update a use](https://developers.shieldpay.com/api-reference/uses-to-be-deprecated/update-a-use.md): Amend details of a specific Use based on the Use ID. • [Approve use(s)](https://developers.shieldpay.com/api-reference/uses-to-be-deprecated/approve-use-s.md): Approve Use(s) associated to a Project based on the Use ID. • [Request OTP PIN to approve use(s)](https://developers.shieldpay.com/api-reference/uses-to-be-deprecated/request-otp-pin-to-approve-use-s.md): Request OTP to approve Use(s) associated to a Project based on the Use ID. • [User KYC Status Update](https://developers.shieldpay.com/api-reference/webhooks/kyc-success.md): Title Description Title Response Fields Data Type Description type string Payload type. Always "kyc" in this case. user_id string Unique identifier for the specific User. address_verified boolean User's address True if verified else False. user_name string User's full name. user_email_address string User's email address. user_phone_number string User's phone number. • [Project Status Update](https://developers.shieldpay.com/api-reference/webhooks/project-status.md): Title Description Title Response Fields Data Type Description type string Payload type. Always "project" in this case. project_id string Unique identifier for the specific Project. project_status_id int Determines the current status of the Project. See the project-statuses resource for possible values. • [Source Status Update](https://developers.shieldpay.com/api-reference/webhooks/source-status-update.md): Title Description Title Response Fields Data Type Description type string Payload type. Always "source" in this case. source_id string Unique identifier for the specific Source. fund_status_id int Determines the fund status of the Source amount. See the fund-statuses resource for possible values. • [Use Status Update](https://developers.shieldpay.com/api-reference/webhooks/use-status-update.md): Title Description Title Response Fields Data Type Description type string Payload type. Always "use" in this case. use_id string Unique identifier for the specific Use. payment_status_id int Determines the payment status of the Use amount. See the payment-statuses resource for possible values. • [Payee Verified](https://developers.shieldpay.com/api-reference/webhooks/payee-verified.md): Title Description Title Response Fields Data Type Description use Object Object containing ‘use’ information project_id string Unique identifier for the Project. reference string Unique payment reference verify_date datetime A UTC datetime on that payee was verified. use_id string Unique identifier for the specific Use. payment_status_id int Determines the payment status of the Use amount. See the payment-statuses resource for possible values. type string Payload type. Always "claimant" in this case.