Operations 6
Documentation
Documentation
https://docs.worldpay.com/access/products/payments
Documentation
https://docs.worldpay.com/access/apis
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/worldpay-parties-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: 3DS 3DS actions Parties API
description: "Protect your business and meet regulatory requirements by verifying your customer's identity.\n\n__Authentication header__\n ```\n Authorization: {your_credentials}\n ```\nReplace `{your_credentials}` with your base64-encoded Basic Auth username and password given to your by your Worldpay Implementation Manager.\n<br /> <br />\n\nYou **must** use the `Authorization` header for any request you send to our 3DS API.\n\n__Accept/Content-Type header__\n ```\n Content-Type: application/vnd.worldpay.verifications.customers-v3.hal+json\n Accept: application/vnd.worldpay.verifications.customers-v3.hal+json\n ```\nWe use the Accept header to identify which version of our API you are using. You must use the Accept header for any request you send to our 3DS API.\n\nWe require the Content-Type header if the request you're sending includes a request body, and if the HTTP method is a `POST` or a `PUT`.\n<br /><br />\n\n\n__DNS whitelisting__ \nWhitelist the following URLs:\n* `https://try.access.worldpay.com/`\n* `https://access.worldpay.com/`\n\nPlease ensure you use DNS whitelisting, not explicit IP whitelisting."
version: '3'
x-metadata:
category:
- 3DS
- SCA Exemptions
business:
- Enterprise
catalog-list: true
generated: false
servers:
- url: https://try.access.worldpay.com
description: Test (Try)
- url: https://access.worldpay.com
description: Live
security:
- BasicAuth: []
tags:
- name: Parties
description: Create and maintain parties.
paths:
/parties:
post:
tags:
- Parties
summary: Create a party
operationId: createAccount
parameters:
- name: WP-Api-Version
in: header
description: The API version.
required: true
schema:
type: string
format: date
example: '2025-01-01'
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Company'
- $ref: '#/components/schemas/Person'
- $ref: '#/components/schemas/SoleTrader'
examples:
Create a party for a person (modular):
$ref: '#/components/examples/Create_Party_Person_modular'
Create a party for a person with previous home address (orchestrated):
$ref: '#/components/examples/Create_Party_Person_orchestrated'
Create a party for a sole trader with trading address (modular):
$ref: '#/components/examples/Create_Party_SoleTrader_with_TradingAddress_modular'
Create a party for a sole trader without trading address (orchestrated):
$ref: '#/components/examples/Create_Party_SoleTrader_without_TradingAddress_orchestrated'
Create a party for a company with trading address different than legal address (orchestrated):
$ref: '#/components/examples/Create_Party_Company_with_TradingAddress_orchestrated'
Create a party for a company without trading address (modular):
$ref: '#/components/examples/Create_Party_Company_without_TradingAddress_modular'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
oneOf:
- $ref: '#/components/schemas/Person'
- $ref: '#/components/schemas/SoleTrader'
- $ref: '#/components/schemas/Company'
examples:
Create a party for a person (modular):
$ref: '#/components/examples/Person_created_201_modular'
Create a party for a person with previous home address (orchestrated):
$ref: '#/components/examples/Person_created_201_orchestrated'
Create a party for a sole trader with trading address (modular):
$ref: '#/components/examples/SoleTrader_with_TradingAddress_created_201_modular'
Create a party for a sole trader without trading address (orchestrated):
$ref: '#/components/examples/SoleTrader_without_TradingAddress_created_201_orchestrated'
Create a party for a company with tradingAddress different than legalAddress (orchestrated):
$ref: '#/components/examples/Company_with_TradingAddress_created_201_orchestrated'
Create a party for a company without trading address (modular):
$ref: '#/components/examples/Company_without_TradingAddress_created_201_modular'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Bad request:
$ref: '#/components/examples/400'
URL with invalid value:
$ref: '#/components/examples/400_Invalid_Url'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Internal error occurred:
$ref: '#/components/examples/500'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Service Unavailable:
$ref: '#/components/examples/503'
get:
tags:
- Parties
summary: Browse parties
description: Browse parties and optionally filtered by criteria. Results are paginated.
operationId: browseParties
parameters:
- name: page
in: query
description: Positive whole number indicating which page of the selected parties to return. Greater than 0.
required: false
schema:
type: integer
format: int32
default: 0
description: Positive whole number indicating which page of the selected parties to return. Greater than 0.
example: 5
minimum: 0
example: 5
- name: size
in: query
description: Number of items listed per page.
required: false
schema:
type: integer
format: int32
default: 10
description: Number of items listed per page.
example: 10
maximum: 100
minimum: 1
example: 10
- name: entity
in: query
description: Entity or entities to filter parties by.
required: false
schema:
type: array
description: entity or entities to filter parties by
items:
type: string
description: entity or entities to filter parties by
example: Entity123
example:
- Entity123
- Entity456
- name: active
in: query
description: Returns parties that are active when set to `true`.
required: false
schema:
type: boolean
description: Return parties that are active when set to `true`.
example: true
- name: type
in: query
description: Type of parties to return.
required: false
schema:
type: string
enum:
- person
- soleTrader
- company
description: Type of parties to return.
example:
- soleTrader
- company
- name: WP-Api-Version
in: header
description: The API version.
required: true
schema:
type: string
format: date
example: '2025-01-01'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BrowsePartiesPage'
examples:
Browse parties:
$ref: '#/components/examples/Browse_Parties_200'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
URL with invalid value:
$ref: '#/components/examples/400_Invalid_Url'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Internal error occurred:
$ref: '#/components/examples/500'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Service Unavailable:
$ref: '#/components/examples/503'
/parties/{partyId}:
get:
tags:
- Parties
summary: View a party
description: Retrieve information about a party.
operationId: partyQuery
parameters:
- name: partyId
in: path
description: A unique identifier for the party generated by us. This is sent in the response of your party creation call.
required: true
schema:
type: string
maxLength: 25
minLength: 25
pattern: ^par[a-zA-Z0-9-_]*0$
example: parV1StGXR8_Z5jdHi6B-myF0
- name: WP-Api-Version
in: header
description: The API version.
required: true
schema:
type: string
format: date
example: '2025-01-01'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
oneOf:
- $ref: '#/components/schemas/Person'
- $ref: '#/components/schemas/SoleTrader'
- $ref: '#/components/schemas/Company'
title: party
examples:
'Get a party for a person ':
$ref: '#/components/examples/Get_Party_Person_200_orchestrated'
Get a party for a sole trader:
$ref: '#/components/examples/Get_Party_SoleTrader_200_orchestrated'
Get a party for a company:
$ref: '#/components/examples/Get_Party_Company_200_orchestrated'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
URL with invalid value:
$ref: '#/components/examples/400_Invalid_Url'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Internal error occurred:
$ref: '#/components/examples/500'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Service Unavailable:
$ref: '#/components/examples/503'
put:
tags:
- Parties
summary: Update a party
operationId: updateParty
parameters:
- name: partyId
in: path
description: A unique identifier for the party generated by us. This is sent in the response of your party creation call.
required: true
schema:
type: string
maxLength: 25
minLength: 25
pattern: ^par[a-zA-Z0-9-_]*0$
- name: WP-Api-Version
in: header
description: The API version.
required: true
schema:
type: string
format: date
example: '2025-01-01'
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Company'
- $ref: '#/components/schemas/Person'
- $ref: '#/components/schemas/SoleTrader'
examples:
Update a party for a person:
$ref: '#/components/examples/Update_Party_Person_orchestrated'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
oneOf:
- $ref: '#/components/schemas/Person'
- $ref: '#/components/schemas/SoleTrader'
- $ref: '#/components/schemas/Company'
title: party
examples:
Update Party:
$ref: '#/components/examples/Update_Party_Person_200_orchestrated'
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Bad request:
$ref: '#/components/examples/400'
URL with invalid value:
$ref: '#/components/examples/400_Invalid_Url'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Internal error occurred:
$ref: '#/components/examples/500'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Service Unavailable:
$ref: '#/components/examples/503'
/parties/{partyId}/deactivation:
post:
tags:
- Parties
summary: Deactivate a party
operationId: deactivateParty
parameters:
- name: partyId
in: path
description: A unique identifier for the party generated by us. This is sent in the response of your party creation call.
required: true
schema:
type: string
maxLength: 25
minLength: 25
pattern: ^par[a-zA-Z0-9-_]*0$
- name: WP-Api-Version
in: header
description: The API version.
required: true
schema:
type: string
format: date
example: '2025-01-01'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeactivateParty'
examples:
Deactivate a party:
$ref: '#/components/examples/Deactivate_Party_Person_modular'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeactivateParty'
examples:
Deactivate a party:
$ref: '#/components/examples/Deactivate_Party_Person_200_modular'
'400':
description: Bad Request
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Internal error occurred:
$ref: '#/components/examples/500'
/parties/{partyId}/activation:
post:
tags:
- Parties
summary: Reactivate a party
operationId: reactivateParty
parameters:
- name: partyId
in: path
description: A unique identifier for the party generated by us. This is sent in the response of your party creation call.
required: true
schema:
type: string
maxLength: 25
minLength: 25
pattern: ^par[a-zA-Z0-9-_]*0$
- name: WP-Api-Version
in: header
description: The API version.
required: true
schema:
type: string
format: date
example: '2025-01-01'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReactivateParty'
examples:
Reactivate a party:
$ref: '#/components/examples/Reactivate_Party_Person_modular'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReactivateParty'
examples:
Reactivate a party:
$ref: '#/components/examples/Reactivate_Party_Person_200_modular'
'400':
description: Bad Request
content:
application/hal+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Internal error occurred:
$ref: '#/components/examples/500'
components:
schemas:
PersonalDetailsForBeneficialOwner:
type: object
properties:
title:
type: string
description: The title for this `person`/`soleTrader`.
enum:
- Mr
- Mrs
- Miss
- Ms
- Dr
- Mx
- Misc
example: Mr
firstName:
type: string
description: 'The `person`''s/`soleTrader`''s first name.
'
example: Case
maxLength: 35
minLength: 2
pattern: ^[\p{L}\-.,'()&]{2,}$
middleName:
type: string
description: 'The `person`''s/`soleTrader`''s middle name or initial.
'
example: Henry
maxLength: 35
minLength: 1
pattern: ^(?:\p{L}\.?)*+$
lastName:
type: string
description: 'The `person`''s/`soleTrader`''s last name.
'
example: Mitchell
maxLength: 35
minLength: 2
pattern: ^(?:[\p{L}\-.,'()&]{2,} *)*+$
alias:
type: string
description: An alternative or commonly-used name for the individual (e.g., preferred or informal name). Does not replace the legal name.
example: Junior Case
maxLength: 35
minLength: 2
pattern: ^[\p{L}\-.,'()&]++(?:\s++[\p{L}\-.,'()&]++)*+$
socialSecurityNumber:
type: string
description: The individual’s U.S. Social Security Number (SSN), required for U.S.-based tax or identity checks.
example: 004-54-6578
pattern: ^\d{3}-\d{2}-\d{4}$
dateOfBirth:
type: string
description: 'The date the `person`/`soleTrader` was born.
'
example: '1983-10-12'
address:
$ref: '#/components/schemas/Address'
description: The address of the `person`/`soleTrader`.
residentialStatus:
type: string
description: The residential status of the `person`/`soleTrader`.
enum:
- resident
- nonResident
- other
customerReference:
type: string
description: Unique reference provided by the payee. Only required for certain payout destinations.
example: '7564389201'
maxLength: 255
minLength: 1
nationality:
type: string
description: The nationality of the `person`/`soleTrader`.
currentAddressLessThanThreeYears:
type: boolean
previousHomeAddress:
$ref: '#/components/schemas/Address'
description: The previous home address of the `person`/`soleTrader`.
website:
type: string
description: The URL of the merchant's website.
example: https://example.com/
required:
- address
- firstName
- lastName
- title
DeactivateParty:
type: object
description: Object containing deactivation information.
properties:
deactivationReason:
type: string
description: The reason for deactivating a party.
enum:
- partyDormant
- partyClosed
- partySanctioned
example: partyDormant
dispositionOfFunds:
type: string
description: The disposition of funds for deactivated party.
enum:
- payoutToParty
example: payoutToParty
active:
type: boolean
description: Indicates whether the party is active or not.
example: false
readOnly: true
dateTimeDeactivated:
type: string
description: The date and time that the party was last deactivated, as an ISO 8601 zoned date time.
example: 2025-01-25T14:57:012.302Z
readOnly: true
required:
- deactivationReason
IdentityDocument:
type: object
description: An identity document.
properties:
type:
type: string
description: The type of the identity document.
enum:
- passport
- nationalId
- driverLicence
- workPermit
- employmentPass
- studentPass
- permanentResidentCard
- companyRegistrationNumber
- companyVATNumber
- citizenshipCard
- taxId
- nationalInsurance
- other
- legalIdentityCard
- taxRegistrationCode
number:
type: string
minLength: 1
issuingInstitution:
type: string
description: The name of the institution that issued this document.
example: State Department
issuingCountry:
type: string
description: The country code of the issuing country specified in [ISO 3166-1 Alpha-2 code](/products/reference/supported-countries-currencies#iso-country-codes) format.
example: JP
minLength: 1
validFrom:
type: string
description: The ISO 8601 date since when this document is valid from.
example: '2023-11-22'
validTo:
type: string
description: The ISO 8601 date until which this document is valid to.
example: '2023-11-22'
required:
- issuingCountry
- number
- type
title: identityDocument
BeneficialOwners:
type: object
properties:
identityVerificationState:
type: string
enum:
- verified
- notVerified
- pending
- rejected
- notApplicable
- started
- startedAction
- pendingStepUpAction
- pendingManualReview - stepUpReceived
readOnly: true
identityVerificationMethod:
type: string
enum:
- merchantCompliant
- identityVerificationService
readOnly: true
identityVerificationDate:
type: string
format: date
description: A valid date as YYYY-MM-DD
example: '2033-11-22'
readOnly: true
url:
type: string
description: The link returned from Identity Verification Status (IVS) used to retrieve additional details from the user.
readOnly: true
message:
type: string
description: The message associated with link returned from Identity Verification Status (IVS).
readOnly: true
beneficialOwnerReference:
type: string
description: 'Your reference for this beneficial owner, must be unique within an entity.
'
example: Hosaka27384910
maxLength: 64
minLength: 3
pattern: ^[A-Za-z0-9\-_ ]*$
beneficialOwnerId:
type: string
description: A unique identifier for the beneficial owner generated by us.
readOnly: true
personalDetails:
$ref: '#/components/schemas/PersonalDetailsForBeneficialOwner'
relationshipToBusiness:
$ref: '#/components/schemas/RelationshipToBusiness'
email:
type: string
format: email
phones:
type: array
items:
$ref: '#/components/schemas/Phone'
identityDocuments:
type: array
items:
$ref: '#/components/schemas/IdentityDocument'
dateTimeCreated:
type: string
description: The date and time that the beneficial owner was created, as an ISO 8601 zoned date time.
example: 2025-01-23T12:23:445.222Z
readOnly: true
version:
type: integer
format: int32
readOnly: true
dateTimeUpdated:
type: string
description: 'The date and time that the beneficial owner was last updated, as an ISO 8601 zoned date time.
'
example: 2025-01-25T14:57:012.302Z
readOnly: true
required:
- beneficialOwnerReference
- personalDetails
- relationshipToBusiness
RelationshipToBusiness:
type: object
properties:
ownershipPercentage:
type: number
description: Percentage of the ownership of the beneficial owner over the company.
format: double
maximum: 100
director:
type: boolean
description: 'A flag indicating if the beneficial owner is also a director for the company.
'
isPrincipalOwner:
type: boolean
description: 'A flag indicating if the beneficial owner is also a principal owner for the company.<br>
**Note:** You can set no more than **one** beneficial owner per party record of type `company`, as principal owner.
'
example: true
position:
type: string
description: Type of position of the beneficial owner within the company.
enum:
- soleTrader
- accountant
- bursar
- chairman
- chairwoman
- chiefExecutiveOfficer
- clerk
- companySecretary
- creditController
- deputyLeader
- generalManager
- leader
- manager
- managingDirector
- master
- guarantor
- mayor
- officeManager
- operationsManager
- president
- principal
- proprietor
- townClerk
- director
- apportionmentAndOversight
- chiefExecutive
- complianceOversight
- directorUnincorporatedAssociate
- nonExecutiveDirector
- significantManagement
- smallFriendlySociety
- chairperson
- designatedMember
- secretary
- trustee
- treasurer
- businessRepresentative
- authorisedSignatory
- signatory
- technicalContact
- contractSignatory
- publicOfficer
- controller
- beneficialOwner
- partner
- shareholder
- chiefFinancialOfficer
- chiefOperatingOfficer
- beneficiary
- charitySecretary
- member
- protector
- settlor
- soleProprietor
- nonDesignatedMember
required:
- director
- ownershipPercentage
- position
SoleTrader:
description: A party represents the overall party record of your beneficiary (seller, vendor, provider). You can use this to store information about the party, to perform either an identity verification check, a split payment, or a payout.
allOf:
- type: object
properties:
type:
type: string
description: "What the party represents:\n\n`person` - an individual \n\n`soleTrader` - a single person enterprise \n\n`company` - a corporation or partnership with multiple owners\n\n"
enum:
- company
- person
- soleTrader
identityVerificationState:
type: string
enum:
- verified
- notVerified
- pending
- rejected
- notApplicable
- started
- startedAction
- pendingStepUpAction
- pendingManualReview
- stepUpReceived
readOnly: true
identityVerificationMethod:
type: string
enum:
- merchantCompliant
- identityVerificationService
readOnly: true
identityVerificationDate:
type: string
format: date
description: A valid date as YYYY-MM-DD
example: '2033-11-22'
readOnly: true
url:
type: string
description: The link returned from Identity Verification Status (IVS) used to retrieve additional details from the user.
readOnly: true
message:
type: string
description: The message associated with link returned from Identity Verification Status (IVS).
readOnly: true
partyReference:
type: string
description: 'Your reference for this party, must be unique within an entity.
'
example: Hosaka27384910
maxLength: 64
minLength: 3
pattern: ^[A-Za-z0-9\-_ ]*$
partyType:
type: string
description: 'The type of this party.
`beneficiary` - the person or business that will receive funds
`payer` - a transmitter of funds to a third party'
enum:
- beneficiary
- payer
partyId:
type: string
description: A unique identifier for the party generated by us.
readOnly: true
email:
type: string
format: email
description: An email address for this party.
merchant:
$ref: '#/components/schemas/Merchant'
description: An object that contains information about the merchant.
phones:
type: array
description: A list of phone numbers associated with this party.
items:
$ref: '#/components/schemas/Phone'
identityDocuments:
type: array
description: A list of identity documents for this party.
items:
$ref: '#/components/schemas/IdentityDocument'
balanceAccounts:
type: array
description: A list of balance accounts that have been set up for this party.
items:
$ref: '#/components/schemas/BalanceAccount'
dateTimeCreated:
type: string
description: The date and time that the party was created, as an ISO 8601 zoned date time.
example: 2025-01-23T12:23:445.222Z
readOnly: true
dateTimeUpdated:
type: string
description: The date and time that the party was last updated, as an ISO 8601 zoned date time.
example: 2025-01-25T14:57:012.302Z
readOnly: true
version:
type: integer
format: int32
readOnly: true
payoutInstruments:
type: array
items:
$ref: '#/components/schemas/BankAccount'
performIdentityVerification:
type: boolean
writeOnly: true
active:
type: boolean
description: Indicates whether the party is active or not.
example: true
readOnly: true
dateTimeDeactivated:
type: string
description: The date and time that the party was last deactivated, as an ISO 8601 zoned date time.
example: 2025-01-25T14:57:012.302Z
readOnly: true
deactivationReason:
type: string
# --- truncated at 32 KB (139 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/worldpay/refs/heads/main/openapi/worldpay-parties-api-openapi.yml