Provider API v1.0.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
API for managing legal service providers, including solicitors, chambers, and advocates.
Unless explicitly stated otherwise, officeGUID values identify the provider-office
link record, not the underlying office record. The underlying office GUID is mainly
an internal identifier used to associate an office record with a provider-office link.
Authentication
HTTP Authentication, scheme: bearer
oAuth2 authentication.
- Flow: authorizationCode
- Authorization URL = https://login.microsoftonline.com/
/oauth2/v2.0/authorize - Token URL = https://login.microsoftonline.com/
/oauth2/v2.0/token
| Scope | Scope Description |
|---|---|
| api:// |
Access the API as an authenticated user |
Events
getProviderEvents
Code samples
# You can also use wget
curl -X GET /provider-events \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-events
Retrieve a list of event headers
Provides capability to view all events that have been emitted by the microservice.
Use cases: 1) Search event header history 2) Identify event GUID for a given correlationId
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| eventType | query | array[string] | false | Filter by event type (multi) |
| correlationId | query | string | false | Filter by correlation Id |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
Enumerated Values
| Parameter | Value |
|---|---|
| eventType | ProviderFirmChangedSnapshotEvent |
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"eventSource": "apiV2",
"eventType": "ProviderFirmChangedSnapshotEvent",
"correlationId": "string",
"traceId": "string"
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | List of events matching the filters | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | object | false | none | none |
| »»»» eventSource | EventSourceV2 | false | none | none |
| »»»» eventType | EventTypeV2 | false | none | none |
| »»»» correlationId | string | false | none | none |
| »»»» traceId | string | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| eventSource | apiV2 |
| eventType | ProviderFirmChangedSnapshotEvent |
| direction | asc |
| direction | desc |
getEventByGUID
Code samples
# You can also use wget
curl -X GET /provider-events/{eventGUID} \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-events/{eventGUID}
Retrieve event by GUID
Retrieve full event details by GUID.
Use cases: 1) Retrieve details necessary for connectors to downstream systems
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| eventGUID | path | string | true | Filter by event GUID |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
Example responses
200 Response
{
"data": {
"eventHeader": {
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"eventSource": "apiV2",
"eventType": "ProviderFirmChangedSnapshotEvent",
"correlationId": "string",
"traceId": "string"
},
"eventPayload": {
"providerFirm": {
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmNumber": "3856",
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"notForProfitOrganisationFlag": true,
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
},
"bankDetails": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333"
}
],
"offices": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
},
"liaisonManagers": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"linkedFlag": true
}
],
"contractManagers": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"contractManagerId": "`TODO: provide example`",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com"
}
],
"officeBankDetails": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"primaryFlag": true
}
]
}
]
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Event details | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | EventV2 | false | none | none |
| »» eventHeader | any | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | object | false | none | none |
| »»»» eventSource | EventSourceV2 | false | none | none |
| »»»» eventType | EventTypeV2 | false | none | none |
| »»»» correlationId | string | false | none | none |
| »»»» traceId | string | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» eventPayload | ProviderFirmChangedSnapshotEventV2Payload | true | none | none |
| »»» providerFirm | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ProviderBaseV2 | false | none | none |
| »»»»» firmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»» name | ProviderFirmNameV2 | true | none | Name of the provider firm. CWA ref: PO_VENDORS.VENDOR_NAME |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ProviderLSPV2 | false | none | Provider of firmType=Legal Services Provider
|
| »»»»»» legalServicesProvider | LSPDetailsV2 | true | none | none |
| »»»»»»» constitutionalStatus | LSPDetailsConstitutionalStatusV2 | true | none | N/A for Firm type Advocate or Chambers. For Legal Services provider, options are: TODO: check the enum values- Partnership, - Limited Company, - Sole Practitioner, - LLAP, TODO: check why in MAPD documentation it is Limited Liability Partnership (LLP)- Charity, - Government Funded Organisation. When constitutional status is set to ‘Charity’ notForProfitOrganisationFlag must be set to true.CWA ref: PO_VENDORS.ATTRIBUTE1. |
| »»»»»»» notForProfitOrganisationFlag | LSPDetailsNotForProfitOrganisationFlagV2 | true | none |
TODO: check if this flag is true for LSP with constitutionalStatus=Charity ???CWA ref: PO_VENDORS.ATTRIBUTE3. |
| »»»»»»» indemnityReceivedDate | LSPDetailsIndemnityReceivedDateV2(date) | true | none |
TODO: Need better description of this fieldCWA ref: PO_VENDORS.ATTRIBUTE2. |
| »»»»»»» companiesHouseNumber | LSPDetailsCompaniesHouseNumberV2 | true | none |
TODO: Need better description of this fieldWARNING: same field is used for Advocates for bar council roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 |
| »»»»»»» headOffice | LSPHeadOfficeDetailsV2 | true | none | none |
| »»»»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ProviderChambersV2 | false | none | Provider of firmType=Chambers
|
| »»»»»» chambers | ChamberDetailsV2 | true | none | none |
| »»»»»»» office | ChambersOfficeCoreDetailsV2 | true | none | none |
| »»»»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ProviderPractitionerV2 | false | none | Provider of firmType=Advocate
|
| »»»»»» practitioner | any | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | PractitionerDetailsBaseV2 | false | none | none |
| »»»»»»»» parentFirms | [PractitionerDetailsParentV2] | true | none | none |
| »»»»»»»»» parentGuid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»»»» parentFirmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »»»»»»»»» parentFirmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»»»»» advocateType | PractitionerDetailsAdvocateTypeV2 | true | none | Advocate sub type can be Advocate or Barrister. Derived from advocateSolicitor flag in CWA. If advocateSolicitor=Y -> Advocate, if advocateSolicitor=N -> Barrister CWA ref: PO_VENDORS.ATTRIBUTE9. TODO: Need better description of this field, any business rules?
|
| »»»»»»»» office | PractitionerOfficeCoreDetailsV2 | true | none | none |
| »»»»»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | PractitionerDetailsAdvocateV2 | false | none | none |
| »»»»»»»»» advocate | PractitionerDetailsAdvocateDetailsV2 | true | none | none |
| »»»»»»»»»» advocateLevel | PractitionerDetailsAdvocateLevelV2 | true | none | Advocate level. WARNING: Same field as Barrister level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| »»»»»»»»»» solicitorRegulationAuthorityRollNumber | PractitionerDetailsSolicitorRegulationAuthorityRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | PractitionerDetailsBarristerV2 | false | none | none |
| »»»»»»»»» barrister | PractitionerDetailsBarristerDetailsV2 | true | none | none |
| »»»»»»»»»» barristerLevel | PractitionerDetailsBarristerLevelV2 | true | none | Advocate level. WARNING: Same field as Advocate level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| »»»»»»»»»» barCouncilRollNumber | PractitionerDetailsBarCouncilRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» bankDetails | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | object | false | none | none |
| »»»»» accountName | BankAccountAccountNameV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NAME |
| »»»»» sortCode | BankAccountSortCodeV2 | true | none | CWA ref: AP_BANK_BRANCHES.BANK_NUM |
| »»»»» accountNumber | BankAccountAccountNumberV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NUM |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» offices | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | LSPOfficeDetailsV2 | false | none | none |
| »»»»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»»»»» debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»»»» falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»»»» intervened | IntervenedOfficeDetailsV2 | true | none | none |
| »»»»»»»» intervenedFlag | IntervenedOfficeDetailsIntervenedFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE11 (this is an enum in CWA “Y”/“N”). TODO: Need better description of this field, any business rules?
|
| »»»»»»»» intervenedChangeDate | IntervenedOfficeDetailsIntervenedChangeDateV2(date) | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE12. TODO: Need better description of this field, any business rules?
|
| »»»»»»» address | OfficeAddressV2 | true | none | none |
| »»»»»»»» line1 | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE1. TODO: find out what address info is stored in this attribute‘ |
| »»»»»»»» line2 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE2. TODO: find out what address info is stored in this attribute
|
| »»»»»»»» line3 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE3. TODO: find out what address info is stored in this attribute
|
| »»»»»»»» line4 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE4. TODO: find out what address info is stored in this attribute
|
| »»»»»»»» townOrCity | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.CITY. TODO: any business rules for verifying data?
|
| »»»»»»»» county | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.COUNTY. TODO: any business rules for verifying data?
|
| »»»»»»»» postcode | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ZIP. TODO: any business rules for verifying data?
|
| »»»»»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»»»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»»»»» dxDetails | DXV2 | false | none | none |
| »»»»»»»» dxNumber | DXdxNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE6. TODO: need better description of this field
|
| »»»»»»»» dxCentre | DXdxCentreV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE7. TODO: need better description of this field
|
| »»»»»»» vatRegistration | VATRegistrationV2 | false | none | none |
| »»»»»»»» vatNumber | VATRegistrationVatNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.VAT_REGISTRATION_NUM |
| »»»»»»» payment | PaymentDetailsV2 | true | none | none |
| »»»»»»»» paymentMethod | PaymentDetailsPaymentMethodV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD. TODO: check the enum values. Any business rules?
|
| »»»»»»»» paymentHeldFlag | PaymentDetailsPaymentHeldFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_ALL_PAYMENTS_FLAG (this is an enum in CWA “Y”/“N”). TODO: check the enum values. Any business rules?
|
| »»»»»»»» paymentHeldReason | PaymentDetailsPaymentHeldReasonV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_REASON. TODO: check if this is mandatory when paymentHeldFlag=Y
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ChambersOfficeDetailsV2 | false | none | none |
| »»»»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»»»»» address | OfficeAddressV2 | true | none | none |
| »»»»»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»»»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»»»»» dxDetails | DXV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AdvocateOfficeDetailsV2 | false | none | none |
| »»»»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»»»»» debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»»»» falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»»»» intervened | IntervenedOfficeDetailsV2 | true | none | none |
| »»»»»»» address | OfficeAddressV2 | true | none | none |
| »»»»»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»»»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»»»»» dxDetails | DXV2 | false | none | none |
| »»»»»»» vatRegistration | VATRegistrationV2 | false | none | none |
| »»»»»»» payment | PaymentDetailsV2 | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | object | false | none | none |
| »»»»» liaisonManagers | [allOf] | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» firstName | LiaisonManagerFirstNameV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.FIRST_NAME |
| »»»»»»» lastName | LiaisonManagerLastNameV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.LAST_NAME |
| »»»»»»» emailAddress | LiaisonManagerEmailAddressV2(email) | true | none | CWA ref: PO_VENDOR_CONTACTS.EMAIL_ADDRESS |
| »»»»»»» telephoneNumber | LiaisonManagerPhoneV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.AREA_CODE + PO_VENDOR_CONTACTS.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»»»» activeDateFrom | LiaisonManagerActiveDateFromV2(date) | true | none | CWA ref: PO_VENDOR_CONTACTS.CREATION_DATE |
| »»»»»»» activeDateTo | LiaisonManagerActiveDateToV2(date) | false | none | CWA ref: PO_VENDOR_CONTACTS.INACTIVE_DATE |
| »»»»»»» linkedFlag | LiaisonManagerLinkedFlagV2 | true | none | Indicates whether this liaison manager entry is specific to given provider or is linked. If the office is LSP and this flag is set to true it indicates that useHeadOfficeLiaisonManager option was used to create this entry.If the office is Advocate/Barrister and this flag is set to true it indicates that useChambersLiaisonManager option was used to create this entry.Note that if this attribute is set to true then updates at the parent entity should cascade to create new linked assignment. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» contractManagers | [allOf] | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» contractManagerId | ContractManagerContractManagerIdV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.PERSON_ID (for provider firms’ offices ID is stored in PO_VENDOR_SITES_ALL.ATTRIBUTE4) |
| »»»»»»» firstName | ContractManagerFirstNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.FIRST_NAME |
| »»»»»»» lastName | ContractManagerLastNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.LAST_NAME |
| ContractManagerEmailAddressV2(email) | false | none | CWA ref: PER_ALL_PEOPLE_F.EMAIL_ADDRESS |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» officeBankDetails | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» accountName | BankAccountAccountNameV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NAME |
| »»»»»»» sortCode | BankAccountSortCodeV2 | true | none | CWA ref: AP_BANK_BRANCHES.BANK_NUM |
| »»»»»»» accountNumber | BankAccountAccountNumberV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NUM |
| »»»»»»» activeDateFrom | BankAccountActiveDateFromV2(date) | true | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.START_DATE |
| »»»»»»» activeDateTo | BankAccountActiveDateToV2(date) | false | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.END_DATE Absent from the response for the currently active record (i.e. where the underlying value is null). |
| »»»»»»» primaryFlag | BankAccountPrimaryFlagV2 | true | none | Marks currently active bank account details for given provider office. Bank account details which are not primary are considered historical selections. If this flag is set to true and there is an ‘old’ bank details record that was marked as primary, then the ‘old’ record should be set to old.primary=false and old.activeDateTo=new.activeDateFrom. CWA ref: AP_BANK_ACCOUNT_USES_ALL.PRIMARY_FLAG. |
Enumerated Values
| Property | Value |
|---|---|
| eventSource | apiV2 |
| eventType | ProviderFirmChangedSnapshotEvent |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| constitutionalStatus | Partnership |
| constitutionalStatus | Limited company |
| constitutionalStatus | Sole practitioner |
| constitutionalStatus | Limited Liability Partnership (LLP) |
| constitutionalStatus | Charity |
| constitutionalStatus | Government Funded Organisation |
| parentFirmType | Legal Services Provider |
| parentFirmType | Chambers |
| parentFirmType | Advocate |
| advocateType | Advocate |
| advocateType | Barrister |
| advocateLevel | Junior |
| advocateLevel | KC |
| barristerLevel | Junior |
| barristerLevel | KC |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| paymentMethod | CHECK |
| paymentMethod | EFT |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
Contract Managers
getProviderContractManagers
Code samples
# You can also use wget
curl -X GET /provider-contract-managers \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-contract-managers
Retrieve a list of contract managers
Retrieve a list of contract managers.
These are employee records in CWA and potentially we need to get this information from SiLAS.
Contract managers are required for assigning contracts and schedules to a provider firm in CWA.
Use cases: 1) List available contract managers to get the GUID before assigning them to an office
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| contractManagerId | query | array[string] | false | Filter by contract manager ID (multi) |
| name | query | string | false | Fuzzy search by contract manager name (searches both first and last names) |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
name: Fuzzy search by contract manager name (searches both first and last names)
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"contractManagerId": "`TODO: provide example`",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com"
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | List of providers matching the filters | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | object | false | none | none |
| »»»» contractManagerId | ContractManagerContractManagerIdV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.PERSON_ID (for provider firms’ offices ID is stored in PO_VENDOR_SITES_ALL.ATTRIBUTE4) |
| »»»» firstName | ContractManagerFirstNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.FIRST_NAME |
| »»»» lastName | ContractManagerLastNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.LAST_NAME |
| ContractManagerEmailAddressV2(email) | false | none | CWA ref: PER_ALL_PEOPLE_F.EMAIL_ADDRESS |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| direction | asc |
| direction | desc |
Provider Firms
createProviderFirm
Code samples
# You can also use wget
curl -X POST /provider-firms \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
POST /provider-firms
Create a provider firm
Create a provider firm (e.g., legal service provider, chambers, advocates).
Each provider must include a name, type, and other type specific data.
The request body should contain either legalServicesProvider, chambers or practitioner
element depending on the type.
practitioner is further sub divided into Advocate or Barrister.
Each entity will have its own specific schema and data requirement for a complete record.
Use cases: 1) Create a complete record for a provider firm
Body parameter
{
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
},
"contractManager": {
"contractManagerGuid": "ABCD-DEFG-1234-5678"
}
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| body | body | ProviderCreateV2 | true | none |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
Example responses
201 Response
{
"data": {
"providerFirmGUID": "ABCD-DEFG-1234-5678",
"providerFirmNumber": "3856"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Provider created successfully | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 201
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» providerFirmGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» providerFirmNumber | ProviderFirmNumberV2 | false | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
getProviderFirms
Code samples
# You can also use wget
curl -X GET /provider-firms \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms
Retrieve providers with optional filters
Use cases: 1) Browse provider data 2) Search for specific provider(s) that match criteria
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUID | query | array[string] | false | Filter by provider firm GUID (multi) |
| providerFirmNumber | query | array[string] | false | Filter by provider firm number (multi) |
| name | query | string | false | Filter by provider name |
| activeStatus | query | string | false | Filter by provider number |
| type | query | array[string] | false | Filter by provider type (multi) |
| accountNumber | query | array[string] | false | Filter by office account number (multi) |
| practitionerRollNumber | query | array[string] | false | Filter by Barrister roll number or Advocate SRA (multi) |
| parentFirmGUID | query | array[string] | false | Filter by parent firm GUID (multi) |
| parentFirmNumber | query | array[string] | false | Filter by parent firm number (multi) |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
Enumerated Values
| Parameter | Value |
|---|---|
| activeStatus | All |
| activeStatus | Active |
| activeStatus | ContingentLiability |
| activeStatus | ActiveOrContingentLiability |
| type | Legal Services Provider |
| type | Chambers |
| type | Advocate |
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmNumber": "3856",
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"notForProfitOrganisationFlag": true,
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | List of providers matching the filters | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | ProviderBaseV2 | false | none | none |
| »»»» firmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»» name | ProviderFirmNameV2 | true | none | Name of the provider firm. CWA ref: PO_VENDORS.VENDOR_NAME |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ProviderLSPV2 | false | none | Provider of firmType=Legal Services Provider
|
| »»»»» legalServicesProvider | LSPDetailsV2 | true | none | none |
| »»»»»» constitutionalStatus | LSPDetailsConstitutionalStatusV2 | true | none | N/A for Firm type Advocate or Chambers. For Legal Services provider, options are: TODO: check the enum values- Partnership, - Limited Company, - Sole Practitioner, - LLAP, TODO: check why in MAPD documentation it is Limited Liability Partnership (LLP)- Charity, - Government Funded Organisation. When constitutional status is set to ‘Charity’ notForProfitOrganisationFlag must be set to true.CWA ref: PO_VENDORS.ATTRIBUTE1. |
| »»»»»» notForProfitOrganisationFlag | LSPDetailsNotForProfitOrganisationFlagV2 | true | none |
TODO: check if this flag is true for LSP with constitutionalStatus=Charity ???CWA ref: PO_VENDORS.ATTRIBUTE3. |
| »»»»»» indemnityReceivedDate | LSPDetailsIndemnityReceivedDateV2(date) | true | none |
TODO: Need better description of this fieldCWA ref: PO_VENDORS.ATTRIBUTE2. |
| »»»»»» companiesHouseNumber | LSPDetailsCompaniesHouseNumberV2 | true | none |
TODO: Need better description of this fieldWARNING: same field is used for Advocates for bar council roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 |
| »»»»»» headOffice | LSPHeadOfficeDetailsV2 | true | none | none |
| »»»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ProviderChambersV2 | false | none | Provider of firmType=Chambers
|
| »»»»» chambers | ChamberDetailsV2 | true | none | none |
| »»»»»» office | ChambersOfficeCoreDetailsV2 | true | none | none |
| »»»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ProviderPractitionerV2 | false | none | Provider of firmType=Advocate
|
| »»»»» practitioner | any | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | PractitionerDetailsBaseV2 | false | none | none |
| »»»»»»» parentFirms | [PractitionerDetailsParentV2] | true | none | none |
| »»»»»»»» parentGuid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»»» parentFirmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »»»»»»»» parentFirmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»»»» advocateType | PractitionerDetailsAdvocateTypeV2 | true | none | Advocate sub type can be Advocate or Barrister. Derived from advocateSolicitor flag in CWA. If advocateSolicitor=Y -> Advocate, if advocateSolicitor=N -> Barrister CWA ref: PO_VENDORS.ATTRIBUTE9. TODO: Need better description of this field, any business rules?
|
| »»»»»»» office | PractitionerOfficeCoreDetailsV2 | true | none | none |
| »»»»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | PractitionerDetailsAdvocateV2 | false | none | none |
| »»»»»»»» advocate | PractitionerDetailsAdvocateDetailsV2 | true | none | none |
| »»»»»»»»» advocateLevel | PractitionerDetailsAdvocateLevelV2 | true | none | Advocate level. WARNING: Same field as Barrister level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| »»»»»»»»» solicitorRegulationAuthorityRollNumber | PractitionerDetailsSolicitorRegulationAuthorityRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | PractitionerDetailsBarristerV2 | false | none | none |
| »»»»»»»» barrister | PractitionerDetailsBarristerDetailsV2 | true | none | none |
| »»»»»»»»» barristerLevel | PractitionerDetailsBarristerLevelV2 | true | none | Advocate level. WARNING: Same field as Advocate level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| »»»»»»»»» barCouncilRollNumber | PractitionerDetailsBarCouncilRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| constitutionalStatus | Partnership |
| constitutionalStatus | Limited company |
| constitutionalStatus | Sole practitioner |
| constitutionalStatus | Limited Liability Partnership (LLP) |
| constitutionalStatus | Charity |
| constitutionalStatus | Government Funded Organisation |
| parentFirmType | Legal Services Provider |
| parentFirmType | Chambers |
| parentFirmType | Advocate |
| advocateType | Advocate |
| advocateType | Barrister |
| advocateLevel | Junior |
| advocateLevel | KC |
| barristerLevel | Junior |
| barristerLevel | KC |
| direction | asc |
| direction | desc |
getProviderFirmByGUIDorFirmNumber
Code samples
# You can also use wget
curl -X GET /provider-firms/{providerFirmGUIDorFirmNumber} \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms/{providerFirmGUIDorFirmNumber}
Retrieve provider details by GUID
Retrieve basic provider details. Use sub resources to retrieve other information.
Use cases: 1) Retrieve provider firm details when GUID or firm number is available
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
Example responses
200 Response
{
"data": {
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmNumber": "3856",
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"notForProfitOrganisationFlag": true,
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Provider details retrieved successfully | Inline |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | BaseEntityV2 | false | none | none |
| »»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»» version | number | true | none | Record version (for audit and event concurrency) |
| »»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»» createdTimestamp | string(date-time) | true | none | none |
| »»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ProviderBaseV2 | false | none | none |
| »»» firmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»» name | ProviderFirmNameV2 | true | none | Name of the provider firm. CWA ref: PO_VENDORS.VENDOR_NAME |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | ProviderLSPV2 | false | none | Provider of firmType=Legal Services Provider
|
| »»»» legalServicesProvider | LSPDetailsV2 | true | none | none |
| »»»»» constitutionalStatus | LSPDetailsConstitutionalStatusV2 | true | none | N/A for Firm type Advocate or Chambers. For Legal Services provider, options are: TODO: check the enum values- Partnership, - Limited Company, - Sole Practitioner, - LLAP, TODO: check why in MAPD documentation it is Limited Liability Partnership (LLP)- Charity, - Government Funded Organisation. When constitutional status is set to ‘Charity’ notForProfitOrganisationFlag must be set to true.CWA ref: PO_VENDORS.ATTRIBUTE1. |
| »»»»» notForProfitOrganisationFlag | LSPDetailsNotForProfitOrganisationFlagV2 | true | none |
TODO: check if this flag is true for LSP with constitutionalStatus=Charity ???CWA ref: PO_VENDORS.ATTRIBUTE3. |
| »»»»» indemnityReceivedDate | LSPDetailsIndemnityReceivedDateV2(date) | true | none |
TODO: Need better description of this fieldCWA ref: PO_VENDORS.ATTRIBUTE2. |
| »»»»» companiesHouseNumber | LSPDetailsCompaniesHouseNumberV2 | true | none |
TODO: Need better description of this fieldWARNING: same field is used for Advocates for bar council roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 |
| »»»»» headOffice | LSPHeadOfficeDetailsV2 | true | none | none |
| »»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | ProviderChambersV2 | false | none | Provider of firmType=Chambers
|
| »»»» chambers | ChamberDetailsV2 | true | none | none |
| »»»»» office | ChambersOfficeCoreDetailsV2 | true | none | none |
| »»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | ProviderPractitionerV2 | false | none | Provider of firmType=Advocate
|
| »»»» practitioner | any | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | PractitionerDetailsBaseV2 | false | none | none |
| »»»»»» parentFirms | [PractitionerDetailsParentV2] | true | none | none |
| »»»»»»» parentGuid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»» parentFirmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »»»»»»» parentFirmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»»» advocateType | PractitionerDetailsAdvocateTypeV2 | true | none | Advocate sub type can be Advocate or Barrister. Derived from advocateSolicitor flag in CWA. If advocateSolicitor=Y -> Advocate, if advocateSolicitor=N -> Barrister CWA ref: PO_VENDORS.ATTRIBUTE9. TODO: Need better description of this field, any business rules?
|
| »»»»»» office | PractitionerOfficeCoreDetailsV2 | true | none | none |
| »»»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | PractitionerDetailsAdvocateV2 | false | none | none |
| »»»»»»» advocate | PractitionerDetailsAdvocateDetailsV2 | true | none | none |
| »»»»»»»» advocateLevel | PractitionerDetailsAdvocateLevelV2 | true | none | Advocate level. WARNING: Same field as Barrister level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| »»»»»»»» solicitorRegulationAuthorityRollNumber | PractitionerDetailsSolicitorRegulationAuthorityRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | PractitionerDetailsBarristerV2 | false | none | none |
| »»»»»»» barrister | PractitionerDetailsBarristerDetailsV2 | true | none | none |
| »»»»»»»» barristerLevel | PractitionerDetailsBarristerLevelV2 | true | none | Advocate level. WARNING: Same field as Advocate level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| »»»»»»»» barCouncilRollNumber | PractitionerDetailsBarCouncilRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
Enumerated Values
| Property | Value |
|---|---|
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| constitutionalStatus | Partnership |
| constitutionalStatus | Limited company |
| constitutionalStatus | Sole practitioner |
| constitutionalStatus | Limited Liability Partnership (LLP) |
| constitutionalStatus | Charity |
| constitutionalStatus | Government Funded Organisation |
| parentFirmType | Legal Services Provider |
| parentFirmType | Chambers |
| parentFirmType | Advocate |
| advocateType | Advocate |
| advocateType | Barrister |
| advocateLevel | Junior |
| advocateLevel | KC |
| barristerLevel | Junior |
| barristerLevel | KC |
updateProviderFirm
Code samples
# You can also use wget
curl -X PATCH /provider-firms/{providerFirmGUIDorFirmNumber} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
PATCH /provider-firms/{providerFirmGUIDorFirmNumber}
Update provider firm details
Use cases: 1) Updating firm name 2) Updating Legal Service Provider’s basic details 3) Changing head office of a Legal Service Provider basic. 4) Updating Barrister’s or Advocate’s basic details 5) Changing parent firm of a Barrister or an Advocate. Note that changing parent chamber should also re-link office details and liaison manager. There are three options: 1. use new chambers LM, 2. keep existing LM or 3. add new LM.
Body parameter
{
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M"
}
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| body | body | ProviderPatchV2 | true | none |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
Example responses
200 Response
{
"data": {
"providerFirmGUID": "ABCD-DEFG-1234-5678",
"providerFirmNumber": "3856"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Provider details retrieved successfully | Inline |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» providerFirmGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» providerFirmNumber | ProviderFirmNumberV2 | false | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
Provider Firm Bank Accounts
getProviderFirmBankAccounts
Code samples
# You can also use wget
curl -X GET /provider-firms/{providerFirmGUIDorFirmNumber}/bank-details \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms/{providerFirmGUIDorFirmNumber}/bank-details
Retrieve a list of provider bank accounts with optional filters
Retrieve bank account details for a given provider.
For Legal Service Provider or Advocate firm type the response returns bank accounts
associated with that provider only.
For Chambers firm type the response returns bank accounts for all Advocates in that
Chambers.
Note that bank account details are created only via creating or updating office details using the payment element.
Use cases:
1) Retrieve the list of bank accounts available for office assignment. Use GUID in office payment PATCH operation to set alternative bank account details.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| bankAccountNumber | query | string | false | Partial text search by bank account number |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
bankAccountNumber: Partial text search by bank account number
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333"
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | List of providers matching the filters | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | object | false | none | none |
| »»»» accountName | BankAccountAccountNameV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NAME |
| »»»» sortCode | BankAccountSortCodeV2 | true | none | CWA ref: AP_BANK_BRANCHES.BANK_NUM |
| »»»» accountNumber | BankAccountAccountNumberV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NUM |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| direction | asc |
| direction | desc |
getProviderFirmOfficeBankAccounts
Code samples
# You can also use wget
curl -X GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/bank-details \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/bank-details
Retrieve a list of provider’s office bank accounts with optional filters
Retrieve bank account details for a given provider’s office.
Note that bank account details are created only via creating or updating office details using the payment element.
Use cases:
1) Retrieve the list of bank accounts assigned to office. Use GUID in office payment PATCH operation to set alternative bank account details.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| officeGUIDorCode | path | string | true | GUID of the provider-office link (not of the underlying office record), or the office code (unique account number). |
| bankAccountNumber | query | string | false | Partial text search by bank account number |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
officeGUIDorCode: GUID of the provider-office link (not of the underlying office record), or the office code (unique account number).
bankAccountNumber: Partial text search by bank account number
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"primaryFlag": true
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | List of providers matching the filters | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | object | false | none | none |
| »»»» accountName | BankAccountAccountNameV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NAME |
| »»»» sortCode | BankAccountSortCodeV2 | true | none | CWA ref: AP_BANK_BRANCHES.BANK_NUM |
| »»»» accountNumber | BankAccountAccountNumberV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NUM |
| »»»» activeDateFrom | BankAccountActiveDateFromV2(date) | true | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.START_DATE |
| »»»» activeDateTo | BankAccountActiveDateToV2(date) | false | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.END_DATE Absent from the response for the currently active record (i.e. where the underlying value is null). |
| »»»» primaryFlag | BankAccountPrimaryFlagV2 | true | none | Marks currently active bank account details for given provider office. Bank account details which are not primary are considered historical selections. If this flag is set to true and there is an ‘old’ bank details record that was marked as primary, then the ‘old’ record should be set to old.primary=false and old.activeDateTo=new.activeDateFrom. CWA ref: AP_BANK_ACCOUNT_USES_ALL.PRIMARY_FLAG. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| direction | asc |
| direction | desc |
Provider Firm Offices
createProviderFirmOffice
Code samples
# You can also use wget
curl -X POST /provider-firms/{providerFirmGUIDorFirmNumber}/offices \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
POST /provider-firms/{providerFirmGUIDorFirmNumber}/offices
Create an office for a Legal Service Provider firm
Create new office details used by given provider firm. Only applicable for firmType=Legal Service Provider.
Use cases: 1) Create additional office details for Legal Service Provider firm
Body parameter
{
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
},
"contractManager": {
"contractManagerGuid": "ABCD-DEFG-1234-5678"
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| body | body | LSPOfficeCreateV2 | true | none |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
Example responses
201 Response
{
"data": {
"providerFirmGUID": "ABCD-DEFG-1234-5678",
"providerFirmNumber": "3856",
"officeGUID": "ABCD-DEFG-1234-5678",
"officeCode": "0Q731M"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Office created successfully | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 201
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» providerFirmGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» providerFirmNumber | ProviderFirmNumberV2 | false | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »» officeGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» officeCode | OfficeAccountNumberV2 | false | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
getProviderFirmOffices
Code samples
# You can also use wget
curl -X GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices
Retrieve a list of provider offices with optional filters
Retrieve office details for a given provider. Use this endpoint when you have providerFirmGUID.
When you do not have providerFirmGUID but only officeGUID or officeCode - use /provider-firms-offices?officeGUID=12345&allProviderOffices=true
Use cases: 1) Browse all offices belonging to a Legal Service Provider firm 2) Show details of the Chambers office 3) Show details of the Advocate’s office (which is the Chambers office they are currently assigned to)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
}
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | List of providers matching the filters | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | LSPOfficeDetailsV2 | false | none | none |
| »»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»»» debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»» falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»» intervened | IntervenedOfficeDetailsV2 | true | none | none |
| »»»»»» intervenedFlag | IntervenedOfficeDetailsIntervenedFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE11 (this is an enum in CWA “Y”/“N”). TODO: Need better description of this field, any business rules?
|
| »»»»»» intervenedChangeDate | IntervenedOfficeDetailsIntervenedChangeDateV2(date) | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE12. TODO: Need better description of this field, any business rules?
|
| »»»»» address | OfficeAddressV2 | true | none | none |
| »»»»»» line1 | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE1. TODO: find out what address info is stored in this attribute‘ |
| »»»»»» line2 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE2. TODO: find out what address info is stored in this attribute
|
| »»»»»» line3 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE3. TODO: find out what address info is stored in this attribute
|
| »»»»»» line4 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE4. TODO: find out what address info is stored in this attribute
|
| »»»»»» townOrCity | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.CITY. TODO: any business rules for verifying data?
|
| »»»»»» county | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.COUNTY. TODO: any business rules for verifying data?
|
| »»»»»» postcode | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ZIP. TODO: any business rules for verifying data?
|
| »»»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»»» dxDetails | DXV2 | false | none | none |
| »»»»»» dxNumber | DXdxNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE6. TODO: need better description of this field
|
| »»»»»» dxCentre | DXdxCentreV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE7. TODO: need better description of this field
|
| »»»»» vatRegistration | VATRegistrationV2 | false | none | none |
| »»»»»» vatNumber | VATRegistrationVatNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.VAT_REGISTRATION_NUM |
| »»»»» payment | PaymentDetailsV2 | true | none | none |
| »»»»»» paymentMethod | PaymentDetailsPaymentMethodV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD. TODO: check the enum values. Any business rules?
|
| »»»»»» paymentHeldFlag | PaymentDetailsPaymentHeldFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_ALL_PAYMENTS_FLAG (this is an enum in CWA “Y”/“N”). TODO: check the enum values. Any business rules?
|
| »»»»»» paymentHeldReason | PaymentDetailsPaymentHeldReasonV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_REASON. TODO: check if this is mandatory when paymentHeldFlag=Y
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ChambersOfficeDetailsV2 | false | none | none |
| »»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»»» address | OfficeAddressV2 | true | none | none |
| »»»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»»» dxDetails | DXV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | AdvocateOfficeDetailsV2 | false | none | none |
| »»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»»» debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»» falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»» intervened | IntervenedOfficeDetailsV2 | true | none | none |
| »»»»» address | OfficeAddressV2 | true | none | none |
| »»»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»»» dxDetails | DXV2 | false | none | none |
| »»»»» vatRegistration | VATRegistrationV2 | false | none | none |
| »»»»» payment | PaymentDetailsV2 | true | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| paymentMethod | CHECK |
| paymentMethod | EFT |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| direction | asc |
| direction | desc |
getOffices
Code samples
# You can also use wget
curl -X GET /provider-firms-offices \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms-offices
Retrieve a list of provider offices with optional filters
Retrieve office details when you do not have providerFirmGUID or FirmNumber.
Use cases:
1) Browse all active offices
2) Browse all offices of a specific provider using when only officeGUID or officeCode is known.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| officeGUID | query | array[string] | false | Filter by provider office GUID (multi) |
| officeCode | query | array[string] | false | Filter by provider office code (multi) |
| allProviderOffices | query | boolean | false | use this filter in conjunction with officeGUID or officeCode to get all offices for the provider that the office with specified guid belongs to |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
}
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | List of providers matching the filters | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | LSPOfficeDetailsV2 | false | none | none |
| »»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»»» debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»» falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»» intervened | IntervenedOfficeDetailsV2 | true | none | none |
| »»»»»» intervenedFlag | IntervenedOfficeDetailsIntervenedFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE11 (this is an enum in CWA “Y”/“N”). TODO: Need better description of this field, any business rules?
|
| »»»»»» intervenedChangeDate | IntervenedOfficeDetailsIntervenedChangeDateV2(date) | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE12. TODO: Need better description of this field, any business rules?
|
| »»»»» address | OfficeAddressV2 | true | none | none |
| »»»»»» line1 | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE1. TODO: find out what address info is stored in this attribute‘ |
| »»»»»» line2 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE2. TODO: find out what address info is stored in this attribute
|
| »»»»»» line3 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE3. TODO: find out what address info is stored in this attribute
|
| »»»»»» line4 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE4. TODO: find out what address info is stored in this attribute
|
| »»»»»» townOrCity | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.CITY. TODO: any business rules for verifying data?
|
| »»»»»» county | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.COUNTY. TODO: any business rules for verifying data?
|
| »»»»»» postcode | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ZIP. TODO: any business rules for verifying data?
|
| »»»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»»» dxDetails | DXV2 | false | none | none |
| »»»»»» dxNumber | DXdxNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE6. TODO: need better description of this field
|
| »»»»»» dxCentre | DXdxCentreV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE7. TODO: need better description of this field
|
| »»»»» vatRegistration | VATRegistrationV2 | false | none | none |
| »»»»»» vatNumber | VATRegistrationVatNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.VAT_REGISTRATION_NUM |
| »»»»» payment | PaymentDetailsV2 | true | none | none |
| »»»»»» paymentMethod | PaymentDetailsPaymentMethodV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD. TODO: check the enum values. Any business rules?
|
| »»»»»» paymentHeldFlag | PaymentDetailsPaymentHeldFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_ALL_PAYMENTS_FLAG (this is an enum in CWA “Y”/“N”). TODO: check the enum values. Any business rules?
|
| »»»»»» paymentHeldReason | PaymentDetailsPaymentHeldReasonV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_REASON. TODO: check if this is mandatory when paymentHeldFlag=Y
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ChambersOfficeDetailsV2 | false | none | none |
| »»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»»» address | OfficeAddressV2 | true | none | none |
| »»»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»»» dxDetails | DXV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | AdvocateOfficeDetailsV2 | false | none | none |
| »»»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»»» debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»» falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»»» intervened | IntervenedOfficeDetailsV2 | true | none | none |
| »»»»» address | OfficeAddressV2 | true | none | none |
| »»»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»»» dxDetails | DXV2 | false | none | none |
| »»»»» vatRegistration | VATRegistrationV2 | false | none | none |
| »»»»» payment | PaymentDetailsV2 | true | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| paymentMethod | CHECK |
| paymentMethod | EFT |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| direction | asc |
| direction | desc |
getProviderFirmOfficeByGUID
Code samples
# You can also use wget
curl -X GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode} \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}
Retrieve provider office details by GUID
Retrieve provider office details.
Use cases: 1) Retrieve office details by GUID or office code
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| officeGUIDorCode | path | string | true | GUID of the provider-office link (not of the underlying office record), or the office code (unique account number). |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
officeGUIDorCode: GUID of the provider-office link (not of the underlying office record), or the office code (unique account number).
Example responses
200 Response
{
"data": {
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Provider details retrieved successfully | Inline |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | BaseEntityV2 | false | none | none |
| »»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»» version | number | true | none | Record version (for audit and event concurrency) |
| »»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»» createdTimestamp | string(date-time) | true | none | none |
| »»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | LSPOfficeDetailsV2 | false | none | none |
| »»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»» debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»» falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»» intervened | IntervenedOfficeDetailsV2 | true | none | none |
| »»»»» intervenedFlag | IntervenedOfficeDetailsIntervenedFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE11 (this is an enum in CWA “Y”/“N”). TODO: Need better description of this field, any business rules?
|
| »»»»» intervenedChangeDate | IntervenedOfficeDetailsIntervenedChangeDateV2(date) | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE12. TODO: Need better description of this field, any business rules?
|
| »»»» address | OfficeAddressV2 | true | none | none |
| »»»»» line1 | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE1. TODO: find out what address info is stored in this attribute‘ |
| »»»»» line2 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE2. TODO: find out what address info is stored in this attribute
|
| »»»»» line3 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE3. TODO: find out what address info is stored in this attribute
|
| »»»»» line4 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE4. TODO: find out what address info is stored in this attribute
|
| »»»»» townOrCity | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.CITY. TODO: any business rules for verifying data?
|
| »»»»» county | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.COUNTY. TODO: any business rules for verifying data?
|
| »»»»» postcode | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ZIP. TODO: any business rules for verifying data?
|
| »»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»» dxDetails | DXV2 | false | none | none |
| »»»»» dxNumber | DXdxNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE6. TODO: need better description of this field
|
| »»»»» dxCentre | DXdxCentreV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE7. TODO: need better description of this field
|
| »»»» vatRegistration | VATRegistrationV2 | false | none | none |
| »»»»» vatNumber | VATRegistrationVatNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.VAT_REGISTRATION_NUM |
| »»»» payment | PaymentDetailsV2 | true | none | none |
| »»»»» paymentMethod | PaymentDetailsPaymentMethodV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD. TODO: check the enum values. Any business rules?
|
| »»»»» paymentHeldFlag | PaymentDetailsPaymentHeldFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_ALL_PAYMENTS_FLAG (this is an enum in CWA “Y”/“N”). TODO: check the enum values. Any business rules?
|
| »»»»» paymentHeldReason | PaymentDetailsPaymentHeldReasonV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_REASON. TODO: check if this is mandatory when paymentHeldFlag=Y
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | ChambersOfficeDetailsV2 | false | none | none |
| »»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»» address | OfficeAddressV2 | true | none | none |
| »»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»» dxDetails | DXV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | AdvocateOfficeDetailsV2 | false | none | none |
| »»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| »»»» debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»» falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| »»»» intervened | IntervenedOfficeDetailsV2 | true | none | none |
| »»»» address | OfficeAddressV2 | true | none | none |
| »»»» telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»» emailAddress | OfficeEmailAddressV2(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| »»»» website | OfficeWebsiteV2(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| »»»» dxDetails | DXV2 | false | none | none |
| »»»» vatRegistration | VATRegistrationV2 | false | none | none |
| »»»» payment | PaymentDetailsV2 | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| paymentMethod | CHECK |
| paymentMethod | EFT |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
updateProviderFirmOffice
Code samples
# You can also use wget
curl -X PATCH /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
PATCH /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}
Update provider office details
Update provider office details.
Note that firmType=Advocate can’t patch Chamber office details.
Use cases:
1) Deactivating office details by setting activeDateTo.
Note that if the office is a head office of Legal Service Provider firm, activeDateTo should
be set on all other offices which are not yet de-activated.
Similarly if the office is a Chambers’ office , activeDateTo should
be set on all Advocate/Barrister offices which are not yet de-activated.
2) Holding payments using paymentHeldFlag
3) Updating office details
4) Setting intervened flag
5) Creating or assigning different bank details using payment.bankAccountDetails
6) Setting debtRecoveryFlag for LSP/Advocate. Can only be set to true if the firm office is still active.
If office is made inactive this flag should be reset to false.
7) Setting falseBalanceFlag for LSP/Advocate. Can only be set to true if the firm office is inactive.
If office is made active this flag should be reset to false.
Body parameter
{
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| officeGUIDorCode | path | string | true | GUID of the provider-office link (not of the underlying office record), or the office code (unique account number). |
| body | body | OfficePatchV2 | true | none |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
officeGUIDorCode: GUID of the provider-office link (not of the underlying office record), or the office code (unique account number).
Example responses
200 Response
{
"data": {
"providerFirmGUID": "ABCD-DEFG-1234-5678",
"providerFirmNumber": "3856",
"officeGUID": "ABCD-DEFG-1234-5678",
"officeCode": "0Q731M"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Provider details retrieved successfully | Inline |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» providerFirmGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» providerFirmNumber | ProviderFirmNumberV2 | false | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »» officeGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» officeCode | OfficeAccountNumberV2 | false | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
Provider Firm Offices Liaison Managers
createProviderFirmOfficeLiaisonManager
Code samples
# You can also use wget
curl -X POST /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/liaison-managers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
POST /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/liaison-managers
Create a liaison manager for office. Creating new manager end-dates all other managers.
Create new liaison manager for an office. There can be only one active liaison manager and all firm types are able to have liaison manager independently set at the office level.
Use cases: 1) Create a new Liaison manager entry specific to given LSP office. 2) Choose to use LSP’s head office liaison manager for given LSP office. 3) Create a new Liaison manager entry specific to Chambers office. 3) Create a new Liaison manager entry specific to Advocate/Barrister for a given Chambers office. 4) Choose to use Chambers’ office liaison manager for given Advocate/Barrister.
Body parameter
{
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| officeGUIDorCode | path | string | true | GUID of the provider-office link (not of the underlying office record), or the office code (unique account number). |
| body | body | OfficeLiaisonManagerCreateOrLinkV2 | true | none |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
officeGUIDorCode: GUID of the provider-office link (not of the underlying office record), or the office code (unique account number).
Example responses
201 Response
{
"data": {
"providerFirmGUID": "ABCD-DEFG-1234-5678",
"providerFirmNumber": "3856",
"officeGUID": "ABCD-DEFG-1234-5678",
"officeCode": "0Q731M",
"liaisonManagerGUID": "ABCD-DEFG-1234-5678"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Office created successfully | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider firm or office not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 201
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» providerFirmGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» providerFirmNumber | ProviderFirmNumberV2 | false | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »» officeGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» officeCode | OfficeAccountNumberV2 | false | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »» liaisonManagerGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
getProviderFirmOfficeLiaisonManagers
Code samples
# You can also use wget
curl -X GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/liaison-managers \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/liaison-managers
Retrieve liaison managers for a given office
Retrieve provider office liaison managers.
Use cases: 1) Show full list of liaison managers including currently active and assigned in the past.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| officeGUIDorCode | path | string | true | GUID of the provider-office link (not of the underlying office record), or the office code (unique account number). |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
officeGUIDorCode: GUID of the provider-office link (not of the underlying office record), or the office code (unique account number).
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"linkedFlag": true
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Provider details retrieved successfully | Inline |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | object | false | none | none |
| »»»» firstName | LiaisonManagerFirstNameV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.FIRST_NAME |
| »»»» lastName | LiaisonManagerLastNameV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.LAST_NAME |
| »»»» emailAddress | LiaisonManagerEmailAddressV2(email) | true | none | CWA ref: PO_VENDOR_CONTACTS.EMAIL_ADDRESS |
| »»»» telephoneNumber | LiaisonManagerPhoneV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.AREA_CODE + PO_VENDOR_CONTACTS.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| »»»» activeDateFrom | LiaisonManagerActiveDateFromV2(date) | true | none | CWA ref: PO_VENDOR_CONTACTS.CREATION_DATE |
| »»»» activeDateTo | LiaisonManagerActiveDateToV2(date) | false | none | CWA ref: PO_VENDOR_CONTACTS.INACTIVE_DATE |
| »»»» linkedFlag | LiaisonManagerLinkedFlagV2 | true | none | Indicates whether this liaison manager entry is specific to given provider or is linked. If the office is LSP and this flag is set to true it indicates that useHeadOfficeLiaisonManager option was used to create this entry.If the office is Advocate/Barrister and this flag is set to true it indicates that useChambersLiaisonManager option was used to create this entry.Note that if this attribute is set to true then updates at the parent entity should cascade to create new linked assignment. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| direction | asc |
| direction | desc |
Provider Firm Offices Contract Managers
createProviderFirmOfficeContractManager
Code samples
# You can also use wget
curl -X POST /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/contract-managers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
POST /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/contract-managers
Assign a contract manager for office. Assigning a new manager removes the previous manager.
Assigning a new contract manager for an office.
There should be only a maximum of one assignment (MVP scope).
Applicable only for LSP’s.
Note that in CWA there are currently fake contract manager entries assigned as it is a mandatory field. In addition business users used some of these entries to mark debt recovery and false balance flags. This is no longer necessary in the new model.
Use cases: 1) Assign new contract manager to a given office.
Body parameter
{
"contractManagerGUID": "ABCD-DEFG-1234-5678"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| officeGUIDorCode | path | string | true | GUID of the provider-office link (not of the underlying office record), or the office code (unique account number). |
| body | body | ContractManagerProviderPatchV2 | true | none |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
officeGUIDorCode: GUID of the provider-office link (not of the underlying office record), or the office code (unique account number).
Example responses
201 Response
{
"data": {
"providerFirmGUID": "ABCD-DEFG-1234-5678",
"providerFirmNumber": "3856",
"officeGUID": "ABCD-DEFG-1234-5678",
"officeCode": "0Q731M",
"contractManagerId": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Office created successfully | Inline |
| 400 | Bad Request | Invalid input | BadRequestError |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 201
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» providerFirmGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» providerFirmNumber | ProviderFirmNumberV2 | false | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »» officeGUID | BaseEntityGUIDV2(guid) | false | none | GUID is the primary key for entity |
| »» officeCode | OfficeAccountNumberV2 | false | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »» contractManagerId | string | false | none | Unique identifier of the assigned contract manager |
getProviderFirmOfficeContractManagers
Code samples
# You can also use wget
curl -X GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/contract-managers \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms/{providerFirmGUIDorFirmNumber}/offices/{officeGUIDorCode}/contract-managers
Retrieve contract managers for a given office
Retrieve provider office contract managers. Applicable only for LSP’s.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| officeGUIDorCode | path | string | true | GUID of the provider-office link (not of the underlying office record), or the office code (unique account number). |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
officeGUIDorCode: GUID of the provider-office link (not of the underlying office record), or the office code (unique account number).
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"contractManagerId": "`TODO: provide example`",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com"
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Provider details retrieved successfully | Inline |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | object | false | none | none |
| »»»» contractManagerId | ContractManagerContractManagerIdV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.PERSON_ID (for provider firms’ offices ID is stored in PO_VENDOR_SITES_ALL.ATTRIBUTE4) |
| »»»» firstName | ContractManagerFirstNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.FIRST_NAME |
| »»»» lastName | ContractManagerLastNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.LAST_NAME |
| ContractManagerEmailAddressV2(email) | false | none | CWA ref: PER_ALL_PEOPLE_F.EMAIL_ADDRESS |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| direction | asc |
| direction | desc |
Chamber Office Practitioners
getProviderFirmOfficePractitioners
Code samples
# You can also use wget
curl -X GET /provider-firms/{providerFirmGUIDorFirmNumber}/practitioners \
-H 'Accept: application/json' \
-H 'x-correlation-id: string' \
-H 'traceparent: string' \
-H 'Authorization: Bearer {access-token}'
GET /provider-firms/{providerFirmGUIDorFirmNumber}/practitioners
Retrieve practitioners for a given chamber office
Retrieve chamber office practitioners.
Note that to create new practitioner you need to create new provider firm of type Barrister or Advocate.
To re-assign Advocate/Barrister to a different Chamber, use the PATCH /provider-firms?providerFirmGUIDorFirmNumber=ABC to change parent firms.
Use cases: 1) List all Advocates and Barristers assigned to given Chamber.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-correlation-id | header | string | false | Correlation ID for tracing requests |
| traceparent | header | string | false | W3C Trace Context header used for distributed tracing. Format: 00- |
| providerFirmGUIDorFirmNumber | path | string | true | GUID of the provider firm, or the firm number (unique account number). |
| page | query | number | false | Page index for given request (start from 0, default is 0) |
| pageSize | query | number | false | Page size for given request (default is 100) |
Detailed descriptions
traceparent: W3C Trace Context header used for distributed tracing. Format: 00-
providerFirmGUIDorFirmNumber: GUID of the provider firm, or the firm number (unique account number).
Example responses
200 Response
{
"data": {
"content": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmNumber": "3856",
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"practitioner": {
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678",
"parentFirmNumber": "3856",
"parentFirmType": "Legal Services Provider"
}
],
"advocateType": "Advocate",
"office": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
},
"advocate": {
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
}
}
],
"metadata": {
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
},
"links": {
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Provider details retrieved successfully | Inline |
| 403 | Forbidden | Forbidden | ForbiddenError |
| 404 | Not Found | Provider not found | NotFoundError |
| 500 | Internal Server Error | Server error | InternalServerError |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » data | object | false | none | none |
| »» content | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseEntityV2 | false | none | none |
| »»»» guid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»» version | number | true | none | Record version (for audit and event concurrency) |
| »»»» createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| »»»» createdTimestamp | string(date-time) | true | none | none |
| »»»» lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| »»»» lastUpdatedTimestamp | string(date-time) | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | ProviderBaseV2 | false | none | none |
| »»»» firmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »»»» firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»» name | ProviderFirmNameV2 | true | none | Name of the provider firm. CWA ref: PO_VENDORS.VENDOR_NAME |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | ProviderPractitionerV2 | false | none | Provider of firmType=Advocate
|
| »»»» practitioner | any | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | PractitionerDetailsBaseV2 | false | none | none |
| »»»»»» parentFirms | [PractitionerDetailsParentV2] | true | none | none |
| »»»»»»» parentGuid | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»» parentFirmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| »»»»»»» parentFirmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| »»»»»» advocateType | PractitionerDetailsAdvocateTypeV2 | true | none | Advocate sub type can be Advocate or Barrister. Derived from advocateSolicitor flag in CWA. If advocateSolicitor=Y -> Advocate, if advocateSolicitor=N -> Barrister CWA ref: PO_VENDORS.ATTRIBUTE9. TODO: Need better description of this field, any business rules?
|
| »»»»»» office | PractitionerOfficeCoreDetailsV2 | true | none | none |
| »»»»»»» officeGUID | BaseEntityGUIDV2(guid) | true | none | GUID is the primary key for entity |
| »»»»»»» accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| »»»»»»» activeDateTo | OfficeActiveDateToV2(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | PractitionerDetailsAdvocateV2 | false | none | none |
| »»»»»»» advocate | PractitionerDetailsAdvocateDetailsV2 | true | none | none |
| »»»»»»»» advocateLevel | PractitionerDetailsAdvocateLevelV2 | true | none | Advocate level. WARNING: Same field as Barrister level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| »»»»»»»» solicitorRegulationAuthorityRollNumber | PractitionerDetailsSolicitorRegulationAuthorityRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | PractitionerDetailsBarristerV2 | false | none | none |
| »»»»»»» barrister | PractitionerDetailsBarristerDetailsV2 | true | none | none |
| »»»»»»»» barristerLevel | PractitionerDetailsBarristerLevelV2 | true | none | Advocate level. WARNING: Same field as Advocate level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| »»»»»»»» barCouncilRollNumber | PractitionerDetailsBarCouncilRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» metadata | PaginatedSearchV2 | false | none | none |
| »»» searchCriteria | SearchCriteriaV2 | true | none | none |
| »»»» criteria | [SearchCriterionV2] | false | none | none |
| »»»»» filter | string | false | none | Filter key |
| »»»»» values | [string] | false | none | none |
| »»» pagination | PaginationV2 | true | none | none |
| »»»» currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| »»»» pageSize | number | false | none | Page size used for this search |
| »»»» totalPages | number | false | none | Total number of pages |
| »»»» totalItems | number | false | none | Total number of records for given search request |
| »»» sort | SortV2 | false | none | none |
| »»»» field | string | false | none | none |
| »»»» direction | string | false | none | none |
| »» links | LinksV2 | false | none | none |
| »»» self | string(uri) | false | none | none |
| »»» next | string(uri) | false | none | none |
| »»» prev | string(uri) | false | none | none |
| »»» first | string(uri) | false | none | none |
| »»» last | string(uri) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| firmType | Legal Services Provider |
| firmType | Chambers |
| firmType | Advocate |
| parentFirmType | Legal Services Provider |
| parentFirmType | Chambers |
| parentFirmType | Advocate |
| advocateType | Advocate |
| advocateType | Barrister |
| advocateLevel | Junior |
| advocateLevel | KC |
| barristerLevel | Junior |
| barristerLevel | KC |
| direction | asc |
| direction | desc |
Schemas
BaseEntityGUIDV2
"ABCD-DEFG-1234-5678"
GUID is the primary key for entity
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(guid) | false | none | GUID is the primary key for entity |
BaseEntityV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| guid | BaseEntityGUIDV2 | true | none | GUID is the primary key for entity |
| version | number | true | none | Record version (for audit and event concurrency) |
| createdBy | string | true | none | User ID from the auth token which resulted in creating this record |
| createdTimestamp | string(date-time) | true | none | none |
| lastUpdatedBy | string | true | none | User ID from the auth token which resulted in updating this record last |
| lastUpdatedTimestamp | string(date-time) | true | none | none |
ErrorResponse
{
"error": {
"errorCode": "P00XX"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | object | false | none | none |
| » errorCode | string | false | none | none |
BadRequestError
{
"error": {
"errorCode": "P00XX"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | object | false | none | none |
| » errorCode | string | false | none | none |
ForbiddenError
{
"error": {
"errorCode": "P00XX"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | object | false | none | none |
| » errorCode | string | false | none | none |
NotFoundError
{
"error": {
"errorCode": "P00NF"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | object | false | none | none |
| » errorCode | string | false | none | none |
InternalServerError
{
"error": {
"errorCode": "P00SE"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | object | false | none | none |
| » errorCode | string | false | none | none |
ProviderFirmNumberV2
"3856"
Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1
TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???.
TODO: is this the same as account number? CWA ref, is it segment 1?
TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_id
TODO: check rules for generating these numbers and check what sequence number to start from at go live
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
ProviderFirmTypeV2
"Legal Services Provider"
Type of the provider firm. Barristers are entered as Advocates.
CWA ref: PO_VENDORS.ATTRIBUTE4.
TODO: check if these are all valid types.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Legal Services Provider |
| anonymous | Chambers |
| anonymous | Advocate |
ProviderFirmNameV2
"Legal Services Co."
Name of the provider firm.
CWA ref: PO_VENDORS.VENDOR_NAME
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Name of the provider firm. CWA ref: PO_VENDORS.VENDOR_NAME |
ProviderCreateV2
{
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
},
"contractManager": {
"contractManagerGuid": "ABCD-DEFG-1234-5678"
}
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ProviderCreateBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ProviderCreateLSPV2 | false | none | Create provider of firmType=Legal Services Provider
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ProviderCreateChambersV2 | false | none | Create provider of firmType=Chambers
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ProviderCreatePractitionerV2 | false | none | Create provider of firmType=Advocate. Office is linked to the parent Chambers office. |
ProviderCreateBaseV2
{
"firmType": "Legal Services Provider",
"name": "Legal Services Co."
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| name | ProviderFirmNameV2 | true | none | Name of the provider firm. CWA ref: PO_VENDORS.VENDOR_NAME |
ProviderCreateLSPV2
{
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
},
"contractManager": {
"contractManagerGuid": "ABCD-DEFG-1234-5678"
}
}
}
Create provider of firmType=Legal Services Provider
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| legalServicesProvider | any | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | LSPDetailsCreateV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | LSPHeadOfficeCreateV2 | false | none | none |
ProviderCreateChambersV2
{
"chambers": {
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
}
}
Create provider of firmType=Chambers
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| chambers | ChambersHeadOfficeCreateV2 | true | none | none |
ProviderCreatePractitionerV2
{
"practitioner": {
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678"
}
],
"advocateType": "Advocate",
"advocate": {
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
}
}
Create provider of firmType=Advocate. Office is linked to the
parent Chambers office.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| practitioner | any | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | PractitionerDetailsCreateV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | PractitionerHeadOfficeCreateV2 | false | none | none |
ProviderV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmNumber": "3856",
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"notForProfitOrganisationFlag": true,
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ProviderBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ProviderLSPV2 | false | none | Provider of firmType=Legal Services Provider
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ProviderChambersV2 | false | none | Provider of firmType=Chambers
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ProviderPractitionerV2 | false | none | Provider of firmType=Advocate
|
ProviderBaseV2
{
"firmNumber": "3856",
"firmType": "Legal Services Provider",
"name": "Legal Services Co."
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| firmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| name | ProviderFirmNameV2 | true | none | Name of the provider firm. CWA ref: PO_VENDORS.VENDOR_NAME |
ProviderLSPV2
{
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"notForProfitOrganisationFlag": true,
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
}
Provider of firmType=Legal Services Provider
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| legalServicesProvider | LSPDetailsV2 | true | none | none |
ProviderChambersV2
{
"chambers": {
"office": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
}
Provider of firmType=Chambers
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| chambers | ChamberDetailsV2 | true | none | none |
ProviderPractitionerV2
{
"practitioner": {
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678",
"parentFirmNumber": "3856",
"parentFirmType": "Legal Services Provider"
}
],
"advocateType": "Advocate",
"office": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
},
"advocate": {
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
}
}
Provider of firmType=Advocate
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| practitioner | PractitionerDetailsV2 | true | none | none |
ProviderPatchV2
{
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M"
}
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ProviderPatchBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ProviderPatchLSPV2 | false | none | Update provider of firmType=Legal Services Provider
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ProviderPatchChambersV2 | false | none | Update provider of firmType=Chambers
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ProviderPatchPractitionerV2 | false | none | Update provider of firmType=Advocate
|
ProviderPatchBaseV2
{
"name": "Legal Services Co."
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | ProviderFirmNameV2 | false | none | Name of the provider firm. CWA ref: PO_VENDORS.VENDOR_NAME |
ProviderPatchLSPV2
{
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M"
}
}
}
Update provider of firmType=Legal Services Provider
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| legalServicesProvider | LSPDetailsPatchV2 | false | none | none |
ProviderPatchChambersV2
{}
Update provider of firmType=Chambers
Properties
None
ProviderPatchPractitionerV2
{
"practitioner": {
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678"
}
],
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
},
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
}
Update provider of firmType=Advocate
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| practitioner | PractitionerDetailsPatchV2 | false | none | none |
LSPDetailsConstitutionalStatusV2
"Partnership"
N/A for Firm type Advocate or Chambers.
For Legal Services provider, options are: TODO: check the enum values
- Partnership,
- Limited Company,
- Sole Practitioner,
- LLAP, TODO: check why in MAPD documentation it is Limited Liability Partnership (LLP)
- Charity,
- Government Funded Organisation.
When constitutional status is set to ‘Charity’ notForProfitOrganisationFlag must be set to true.
CWA ref: PO_VENDORS.ATTRIBUTE1.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | N/A for Firm type Advocate or Chambers. For Legal Services provider, options are: TODO: check the enum values- Partnership, - Limited Company, - Sole Practitioner, - LLAP, TODO: check why in MAPD documentation it is Limited Liability Partnership (LLP)- Charity, - Government Funded Organisation. When constitutional status is set to ‘Charity’ notForProfitOrganisationFlag must be set to true.CWA ref: PO_VENDORS.ATTRIBUTE1. |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Partnership |
| anonymous | Limited company |
| anonymous | Sole practitioner |
| anonymous | Limited Liability Partnership (LLP) |
| anonymous | Charity |
| anonymous | Government Funded Organisation |
LSPDetailsNotForProfitOrganisationFlagV2
true
TODO: check if this flag is true for LSP with constitutionalStatus=Charity ???
CWA ref: PO_VENDORS.ATTRIBUTE3.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none |
TODO: check if this flag is true for LSP with constitutionalStatus=Charity ???CWA ref: PO_VENDORS.ATTRIBUTE3. |
LSPDetailsIndemnityReceivedDateV2
"2019-08-24"
TODO: Need better description of this field
CWA ref: PO_VENDORS.ATTRIBUTE2.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date) | false | none |
TODO: Need better description of this fieldCWA ref: PO_VENDORS.ATTRIBUTE2. |
LSPDetailsCompaniesHouseNumberV2
"`TODO: provide example`"
TODO: Need better description of this field
WARNING: same field is used for Advocates for bar council roll number.
CWA ref: PO_VENDORS.ATTRIBUTE11
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none |
TODO: Need better description of this fieldWARNING: same field is used for Advocates for bar council roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 |
LSPDetailsCreateV2
{
"constitutionalStatus": "Partnership",
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| constitutionalStatus | LSPDetailsConstitutionalStatusV2 | true | none | N/A for Firm type Advocate or Chambers. For Legal Services provider, options are: TODO: check the enum values- Partnership, - Limited Company, - Sole Practitioner, - LLAP, TODO: check why in MAPD documentation it is Limited Liability Partnership (LLP)- Charity, - Government Funded Organisation. When constitutional status is set to ‘Charity’ notForProfitOrganisationFlag must be set to true.CWA ref: PO_VENDORS.ATTRIBUTE1. |
| indemnityReceivedDate | LSPDetailsIndemnityReceivedDateV2 | false | none |
TODO: Need better description of this fieldCWA ref: PO_VENDORS.ATTRIBUTE2. |
| companiesHouseNumber | LSPDetailsCompaniesHouseNumberV2 | false | none |
TODO: Need better description of this fieldWARNING: same field is used for Advocates for bar council roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 |
LSPDetailsV2
{
"constitutionalStatus": "Partnership",
"notForProfitOrganisationFlag": true,
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| constitutionalStatus | LSPDetailsConstitutionalStatusV2 | true | none | N/A for Firm type Advocate or Chambers. For Legal Services provider, options are: TODO: check the enum values- Partnership, - Limited Company, - Sole Practitioner, - LLAP, TODO: check why in MAPD documentation it is Limited Liability Partnership (LLP)- Charity, - Government Funded Organisation. When constitutional status is set to ‘Charity’ notForProfitOrganisationFlag must be set to true.CWA ref: PO_VENDORS.ATTRIBUTE1. |
| notForProfitOrganisationFlag | LSPDetailsNotForProfitOrganisationFlagV2 | true | none |
TODO: check if this flag is true for LSP with constitutionalStatus=Charity ???CWA ref: PO_VENDORS.ATTRIBUTE3. |
| indemnityReceivedDate | LSPDetailsIndemnityReceivedDateV2 | true | none |
TODO: Need better description of this fieldCWA ref: PO_VENDORS.ATTRIBUTE2. |
| companiesHouseNumber | LSPDetailsCompaniesHouseNumberV2 | true | none |
TODO: Need better description of this fieldWARNING: same field is used for Advocates for bar council roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 |
| headOffice | LSPHeadOfficeDetailsV2 | true | none | none |
LSPDetailsPatchV2
{
"constitutionalStatus": "Partnership",
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| constitutionalStatus | LSPDetailsConstitutionalStatusV2 | false | none | N/A for Firm type Advocate or Chambers. For Legal Services provider, options are: TODO: check the enum values- Partnership, - Limited Company, - Sole Practitioner, - LLAP, TODO: check why in MAPD documentation it is Limited Liability Partnership (LLP)- Charity, - Government Funded Organisation. When constitutional status is set to ‘Charity’ notForProfitOrganisationFlag must be set to true.CWA ref: PO_VENDORS.ATTRIBUTE1. |
| indemnityReceivedDate | LSPDetailsIndemnityReceivedDateV2 | false | none |
TODO: Need better description of this fieldCWA ref: PO_VENDORS.ATTRIBUTE2. |
| companiesHouseNumber | LSPDetailsCompaniesHouseNumberV2 | false | none |
TODO: Need better description of this fieldWARNING: same field is used for Advocates for bar council roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 |
| headOffice | LSPHeadOfficeDetailsPatchV2 | false | none | none |
ChamberDetailsV2
{
"office": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| office | ChambersOfficeCoreDetailsV2 | true | none | none |
PractitionerDetailsParentUpdateV2
{
"parentGuid": "ABCD-DEFG-1234-5678"
}
Properties
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » parentGuid | BaseEntityGUIDV2 | true | none | GUID is the primary key for entity |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » parentFirmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
PractitionerDetailsParentV2
{
"parentGuid": "ABCD-DEFG-1234-5678",
"parentFirmNumber": "3856",
"parentFirmType": "Legal Services Provider"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| parentGuid | BaseEntityGUIDV2 | true | none | GUID is the primary key for entity |
| parentFirmNumber | ProviderFirmNumberV2 | true | none | Unique provider firm identifier. CWA ref: PO_VENDOR_CONTACTS.SEGMENT1 TODO: check which one to use, SiLAS uses segment1 but all V1 endpoints use VENDOR_ID as path variable???. TODO: is this the same as account number? CWA ref, is it segment 1?TODO: do we need ccmsFirmId?? xxccms_provider_offices_v.providerfirm_idTODO: check rules for generating these numbers and check what sequence number to start from at go live
|
| parentFirmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
PractitionerDetailsAdvocateTypeV2
"Advocate"
Advocate sub type can be Advocate or Barrister.
Derived from advocateSolicitor flag in CWA. If advocateSolicitor=Y -> Advocate, if advocateSolicitor=N -> Barrister
CWA ref: PO_VENDORS.ATTRIBUTE9.
TODO: Need better description of this field, any business rules?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Advocate sub type can be Advocate or Barrister. Derived from advocateSolicitor flag in CWA. If advocateSolicitor=Y -> Advocate, if advocateSolicitor=N -> Barrister CWA ref: PO_VENDORS.ATTRIBUTE9. TODO: Need better description of this field, any business rules?
|
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Advocate |
| anonymous | Barrister |
PractitionerDetailsAdvocateLevelV2
"Junior"
Advocate level.
WARNING: Same field as Barrister level in CWA
CWA ref: PO_VENDORS.ATTRIBUTE10.
TODO: Need better description of this field, any business rules?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Advocate level. WARNING: Same field as Barrister level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Junior |
| anonymous | KC |
PractitionerDetailsBarristerLevelV2
"Junior"
Advocate level.
WARNING: Same field as Advocate level in CWA
CWA ref: PO_VENDORS.ATTRIBUTE10.
TODO: Need better description of this field, any business rules?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Advocate level. WARNING: Same field as Advocate level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Junior |
| anonymous | KC |
PractitionerDetailsSolicitorRegulationAuthorityRollNumberV2
"`TODO: provide example`"
Bar Council or Solicitors Regulation Authority roll number.
CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number).
TODO: Need better description of this field, any business rules?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
PractitionerDetailsBarCouncilRollNumberV2
"`TODO: provide example`"
Bar Council or Solicitors Regulation Authority roll number.
CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number).
TODO: Need better description of this field, any business rules?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
PractitionerDetailsAdvocateDetailsV2
{
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| advocateLevel | PractitionerDetailsAdvocateLevelV2 | true | none | Advocate level. WARNING: Same field as Barrister level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| solicitorRegulationAuthorityRollNumber | PractitionerDetailsSolicitorRegulationAuthorityRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
PractitionerDetailsBarristerDetailsV2
{
"barristerLevel": "Junior",
"barCouncilRollNumber": "`TODO: provide example`"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| barristerLevel | PractitionerDetailsBarristerLevelV2 | true | none | Advocate level. WARNING: Same field as Advocate level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| barCouncilRollNumber | PractitionerDetailsBarCouncilRollNumberV2 | true | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
PractitionerDetailsCreateV2
{
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678"
}
],
"advocateType": "Advocate",
"advocate": {
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | PractitionerDetailsCreateBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | PractitionerDetailsCreateAdvocateV2 | false | none | Applicable only for advocateType=Advocate
|
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | PractitionerDetailsCreateBarristerV2 | false | none | Applicable only for advocateType=Barrister
|
PractitionerDetailsCreateBaseV2
{
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678"
}
],
"advocateType": "Advocate"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| parentFirms | [PractitionerDetailsParentUpdateV2] | true | none | none |
| advocateType | PractitionerDetailsAdvocateTypeV2 | true | none | Advocate sub type can be Advocate or Barrister. Derived from advocateSolicitor flag in CWA. If advocateSolicitor=Y -> Advocate, if advocateSolicitor=N -> Barrister CWA ref: PO_VENDORS.ATTRIBUTE9. TODO: Need better description of this field, any business rules?
|
PractitionerDetailsCreateAdvocateV2
{
"advocate": {
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
}
Applicable only for advocateType=Advocate
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| advocate | PractitionerDetailsAdvocateDetailsV2 | true | none | none |
PractitionerDetailsCreateBarristerV2
{
"barrister": {
"barristerLevel": "Junior",
"barCouncilRollNumber": "`TODO: provide example`"
}
}
Applicable only for advocateType=Barrister
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| barrister | PractitionerDetailsBarristerDetailsV2 | true | none | none |
PractitionerDetailsV2
{
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678",
"parentFirmNumber": "3856",
"parentFirmType": "Legal Services Provider"
}
],
"advocateType": "Advocate",
"office": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
},
"advocate": {
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | PractitionerDetailsBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | PractitionerDetailsAdvocateV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | PractitionerDetailsBarristerV2 | false | none | none |
PractitionerDetailsBaseV2
{
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678",
"parentFirmNumber": "3856",
"parentFirmType": "Legal Services Provider"
}
],
"advocateType": "Advocate",
"office": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| parentFirms | [PractitionerDetailsParentV2] | true | none | none |
| advocateType | PractitionerDetailsAdvocateTypeV2 | true | none | Advocate sub type can be Advocate or Barrister. Derived from advocateSolicitor flag in CWA. If advocateSolicitor=Y -> Advocate, if advocateSolicitor=N -> Barrister CWA ref: PO_VENDORS.ATTRIBUTE9. TODO: Need better description of this field, any business rules?
|
| office | PractitionerOfficeCoreDetailsV2 | true | none | none |
PractitionerDetailsAdvocateV2
{
"advocate": {
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| advocate | PractitionerDetailsAdvocateDetailsV2 | true | none | none |
PractitionerDetailsBarristerV2
{
"barrister": {
"barristerLevel": "Junior",
"barCouncilRollNumber": "`TODO: provide example`"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| barrister | PractitionerDetailsBarristerDetailsV2 | true | none | none |
PractitionerDetailsPatchV2
{
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678"
}
],
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
},
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | PractitionerDetailsPatchBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » liaisonManager | AdvocateOfficeLiaisonManagerCreateOrLinkV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | PractitionerDetailsPatchAdvocateDetailsV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | PractitionerDetailsPatchBarristerDetailsV2 | false | none | none |
PractitionerDetailsPatchBaseV2
{
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| parentFirms | [PractitionerDetailsParentUpdateV2] | false | none | none |
PractitionerDetailsPatchAdvocateDetailsV2
{
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| advocateLevel | PractitionerDetailsAdvocateLevelV2 | false | none | Advocate level. WARNING: Same field as Barrister level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| solicitorRegulationAuthorityRollNumber | PractitionerDetailsSolicitorRegulationAuthorityRollNumberV2 | false | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
PractitionerDetailsPatchBarristerDetailsV2
{
"barristerLevel": "Junior",
"barCouncilRollNumber": "`TODO: provide example`"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| barristerLevel | PractitionerDetailsBarristerLevelV2 | false | none | Advocate level. WARNING: Same field as Advocate level in CWA CWA ref: PO_VENDORS.ATTRIBUTE10. TODO: Need better description of this field, any business rules?
|
| barCouncilRollNumber | PractitionerDetailsBarCouncilRollNumberV2 | false | none | Bar Council or Solicitors Regulation Authority roll number. CWA ref: PO_VENDORS.ATTRIBUTE11 (WARNING: same field is used for LSP for Company house number). TODO: Need better description of this field, any business rules?
|
LSPHeadOfficeCreateV2
{
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
},
"contractManager": {
"contractManagerGuid": "ABCD-DEFG-1234-5678"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| vatRegistration | VATRegistrationCreateV2 | false | none | none |
| payment | PaymentDetailsCreateV2 | true | none | none |
| address | OfficeAddressV2 | true | none | none |
| telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| emailAddress | OfficeEmailAddressV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| website | OfficeWebsiteV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| dxDetails | DXCreateV2 | false | none | none |
| liaisonManager | LiaisonManagerCreateV2 | true | none | activeDateFrom by default is set to today’s date. Previously ‘active’ liaison manager assignment activeDateTo’s value should be set to activeDateFrom’s date minus one day of the new assignment. |
| contractManager | ContractManagerProviderLinkV2 | false | none | none |
LSPHeadOfficeDetailsV2
{
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| officeGUID | BaseEntityGUIDV2 | true | none | GUID is the primary key for entity |
| accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| activeDateTo | OfficeActiveDateToV2 | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
LSPHeadOfficeDetailsPatchV2
{
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| officeGUID | BaseEntityGUIDV2 | false | none | GUID is the primary key for entity |
| accountNumber | OfficeAccountNumberV2 | false | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
ChambersHeadOfficeCreateV2
{
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| address | OfficeAddressV2 | true | none | none |
| telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| emailAddress | OfficeEmailAddressV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| website | OfficeWebsiteV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| dxDetails | DXCreateV2 | false | none | none |
| liaisonManager | LiaisonManagerCreateV2 | true | none | activeDateFrom by default is set to today’s date. Previously ‘active’ liaison manager assignment activeDateTo’s value should be set to activeDateFrom’s date minus one day of the new assignment. |
PractitionerHeadOfficeCreateV2
{
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| vatRegistration | VATRegistrationCreateV2 | false | none | none |
| payment | PaymentDetailsCreateV2 | true | none | none |
| liaisonManager | AdvocateOfficeLiaisonManagerCreateOrLinkV2 | true | none | none |
LSPOfficeCreateV2
{
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"liaisonManager": {
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
},
"contractManager": {
"contractManagerGuid": "ABCD-DEFG-1234-5678"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| vatRegistration | VATRegistrationCreateV2 | false | none | none |
| payment | PaymentDetailsCreateOrLinkV2 | true | none | none |
| address | OfficeAddressV2 | true | none | none |
| telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| emailAddress | OfficeEmailAddressV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| website | OfficeWebsiteV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| dxDetails | DXCreateV2 | false | none | none |
| liaisonManager | LSPOfficeLiaisonManagerCreateOrLinkV2 | true | none | none |
| contractManager | ContractManagerProviderLinkV2 | false | none | none |
OfficeAccountNumberV2
"0Q731M"
Unique provider office identifier.
CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
OfficeActiveDateToV2
"2019-08-24"
End date of activity.
When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices).
When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices).
When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.
When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.
CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date) | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
DebtRecoveryFlagV2
true
Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false.
CWA ref: via fake contract manager.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
FalseBalanceFlagV2
true
Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false.
CWA ref: via fake contract manager.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
OfficeV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | LSPOfficeDetailsV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | ChambersOfficeDetailsV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | AdvocateOfficeDetailsV2 | false | none | none |
LSPOfficeDetailsV2
{
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| activeDateTo | OfficeActiveDateToV2 | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| intervened | IntervenedOfficeDetailsV2 | true | none | none |
| address | OfficeAddressV2 | true | none | none |
| telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| emailAddress | OfficeEmailAddressV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| website | OfficeWebsiteV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| dxDetails | DXV2 | false | none | none |
| vatRegistration | VATRegistrationV2 | false | none | none |
| payment | PaymentDetailsV2 | true | none | none |
ChambersOfficeDetailsV2
{
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| activeDateTo | OfficeActiveDateToV2 | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| address | OfficeAddressV2 | true | none | none |
| telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| emailAddress | OfficeEmailAddressV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| website | OfficeWebsiteV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| dxDetails | DXV2 | false | none | none |
AdvocateOfficeDetailsV2
{
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| firmType | ProviderFirmTypeV2 | true | none | Type of the provider firm. Barristers are entered as Advocates. CWA ref: PO_VENDORS.ATTRIBUTE4. TODO: check if these are all valid types.
|
| accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| activeDateTo | OfficeActiveDateToV2 | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| debtRecoveryFlag | DebtRecoveryFlagV2 | true | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| falseBalanceFlag | FalseBalanceFlagV2 | true | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| intervened | IntervenedOfficeDetailsV2 | true | none | none |
| address | OfficeAddressV2 | true | none | none |
| telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| emailAddress | OfficeEmailAddressV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| website | OfficeWebsiteV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| dxDetails | DXV2 | false | none | none |
| vatRegistration | VATRegistrationV2 | false | none | none |
| payment | PaymentDetailsV2 | true | none | none |
OfficePatchV2
{
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
}
}
Properties
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | LSPOfficePatchV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ChambersOfficePatchV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AdvocateOfficePatchV2 | false | none | none |
LSPOfficePatchV2
{
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| activeDateTo | OfficeActiveDateToV2 | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| debtRecoveryFlag | DebtRecoveryFlagV2 | false | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| falseBalanceFlag | FalseBalanceFlagV2 | false | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| intervened | IntervenedOfficeDetailsPatchV2 | false | none | none |
| address | OfficeAddressV2 | false | none | none |
| telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| emailAddress | OfficeEmailAddressV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| website | OfficeWebsiteV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| dxDetails | DXPatchV2 | false | none | none |
| vatRegistration | VATRegistrationV2 | false | none | none |
| payment | PaymentDetailsPatchOrLinkV2 | false | none | none |
ChambersOfficePatchV2
{
"activeDateTo": "2019-08-24",
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| activeDateTo | OfficeActiveDateToV2 | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| address | OfficeAddressV2 | false | none | none |
| telephoneNumber | OfficePhoneV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| emailAddress | OfficeEmailAddressV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
| website | OfficeWebsiteV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
| dxDetails | DXPatchV2 | false | none | none |
AdvocateOfficePatchV2
{
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| activeDateTo | OfficeActiveDateToV2 | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
| debtRecoveryFlag | DebtRecoveryFlagV2 | false | none | Can only be set to true if the firm office is still active. If office is made inactive this flag should be reset to false. CWA ref: via fake contract manager. |
| falseBalanceFlag | FalseBalanceFlagV2 | false | none | Can only be set to true if the firm office is inactive. If office is made active this flag should be reset to false. CWA ref: via fake contract manager. |
| intervened | IntervenedOfficeDetailsPatchV2 | false | none | none |
| vatRegistration | VATRegistrationV2 | false | none | none |
| payment | PaymentDetailsPatchOrLinkV2 | false | none | none |
ChambersOfficeCoreDetailsV2
{
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| officeGUID | BaseEntityGUIDV2 | true | none | GUID is the primary key for entity |
| accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| activeDateTo | OfficeActiveDateToV2 | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
PractitionerOfficeCoreDetailsV2
{
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| officeGUID | BaseEntityGUIDV2 | true | none | GUID is the primary key for entity |
| accountNumber | OfficeAccountNumberV2 | true | none | Unique provider office identifier. CWA ref: PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE |
| activeDateTo | OfficeActiveDateToV2 | false | none | End date of activity. When activeDateTo is set on the head office for LSP all child offices that do not have activeDateTo set should be updated to the same value (i.e. deactivating head office deactivates all active child offices). When activeDateTo is set on the Chambers’ office all assigned advocates/barristers that do not have activeDateTo set should be updated to the same value (i.e. deactivating chambers office deactivates all active advocate/barrister offices). When activeDateTo is set on an LSP office or an Advocate/Barrister office debtRecoveryFlag should be set to false.When activeDateTo is unset (office made active) on an LSP office or an Advocate/Barrister office falseBalanceFlag should be set to false.CWA ref: PO_VENDOR_SITES_ALL.INACTIVE_DATE |
IntervenedOfficeDetailsIntervenedFlagV2
true
CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE11 (this is an enum in CWA “Y”/“N”).
TODO: Need better description of this field, any business rules?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE11 (this is an enum in CWA “Y”/“N”). TODO: Need better description of this field, any business rules?
|
IntervenedOfficeDetailsIntervenedChangeDateV2
"2019-08-24"
CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE12.
TODO: Need better description of this field, any business rules?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date) | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE12. TODO: Need better description of this field, any business rules?
|
IntervenedOfficeDetailsV2
{
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| intervenedFlag | IntervenedOfficeDetailsIntervenedFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE11 (this is an enum in CWA “Y”/“N”). TODO: Need better description of this field, any business rules?
|
| intervenedChangeDate | IntervenedOfficeDetailsIntervenedChangeDateV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE12. TODO: Need better description of this field, any business rules?
|
IntervenedOfficeDetailsPatchV2
{
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| intervenedFlag | IntervenedOfficeDetailsIntervenedFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE11 (this is an enum in CWA “Y”/“N”). TODO: Need better description of this field, any business rules?
|
| intervenedChangeDate | IntervenedOfficeDetailsIntervenedChangeDateV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE12. TODO: Need better description of this field, any business rules?
|
OfficeAddressV2
{
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| line1 | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE1. TODO: find out what address info is stored in this attribute‘ |
| line2 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE2. TODO: find out what address info is stored in this attribute
|
| line3 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE3. TODO: find out what address info is stored in this attribute
|
| line4 | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ADDRESS_LINE4. TODO: find out what address info is stored in this attribute
|
| townOrCity | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.CITY. TODO: any business rules for verifying data?
|
| county | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.COUNTY. TODO: any business rules for verifying data?
|
| postcode | string | true | none | CWA ref: PO_VENDOR_SITES_ALL.ZIP. TODO: any business rules for verifying data?
|
OfficePhoneV2
"0121 232 1111"
CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE.
TODO: any business rules for verifying data? do we need it as a separate field?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.AREA_CODE + PO_VENDOR_SITES_ALL.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
OfficeEmailAddressV2
"user@example.com"
CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(email) | false | none | CWA ref: PO_VENDOR_SITES_ALL.EMAIL_ADDRESS |
OfficeWebsiteV2
"www.abc.com"
CWA ref: PO_VENDOR_CONTACTS.URL
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(uri) | false | none | CWA ref: PO_VENDOR_CONTACTS.URL |
DXdxNumberV2
"string"
CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE6.
TODO: need better description of this field
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE6. TODO: need better description of this field
|
DXdxCentreV2
"string"
CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE7.
TODO: need better description of this field
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE7. TODO: need better description of this field
|
DXCreateV2
{
"dxNumber": "string",
"dxCentre": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| dxNumber | DXdxNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE6. TODO: need better description of this field
|
| dxCentre | DXdxCentreV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE7. TODO: need better description of this field
|
DXV2
{
"dxNumber": "string",
"dxCentre": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| dxNumber | DXdxNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE6. TODO: need better description of this field
|
| dxCentre | DXdxCentreV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE7. TODO: need better description of this field
|
DXPatchV2
{
"dxNumber": "string",
"dxCentre": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| dxNumber | DXdxNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE6. TODO: need better description of this field
|
| dxCentre | DXdxCentreV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.ATTRIBUTE7. TODO: need better description of this field
|
VATRegistrationVatNumberV2
"476628407"
CWA ref: PO_VENDOR_SITES_ALL.VAT_REGISTRATION_NUM
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.VAT_REGISTRATION_NUM |
VATRegistrationCreateV2
{
"vatNumber": "476628407"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| vatNumber | VATRegistrationVatNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.VAT_REGISTRATION_NUM |
VATRegistrationV2
{
"vatNumber": "476628407"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| vatNumber | VATRegistrationVatNumberV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.VAT_REGISTRATION_NUM |
PaymentDetailsPaymentMethodV2
"CHECK"
CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD.
TODO: check the enum values. Any business rules?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD. TODO: check the enum values. Any business rules?
|
Enumerated Values
| Property | Value |
|---|---|
| anonymous | CHECK |
| anonymous | EFT |
PaymentDetailsPaymentHeldFlagV2
true
CWA ref: PO_VENDOR_SITES_ALL.HOLD_ALL_PAYMENTS_FLAG (this is an enum in CWA “Y”/“N”).
TODO: check the enum values. Any business rules?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_ALL_PAYMENTS_FLAG (this is an enum in CWA “Y”/“N”). TODO: check the enum values. Any business rules?
|
PaymentDetailsPaymentHeldReasonV2
"Under investigation"
CWA ref: PO_VENDOR_SITES_ALL.HOLD_REASON.
TODO: check if this is mandatory when paymentHeldFlag=Y
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_REASON. TODO: check if this is mandatory when paymentHeldFlag=Y
|
PaymentDetailsCreateV2
{
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| paymentMethod | PaymentDetailsPaymentMethodV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD. TODO: check the enum values. Any business rules?
|
| bankAccountDetails | BankAccountProviderOfficeCreateV2 | false | none | Only applicable for paymentMethod=EFT.activeDateFrom is set to today’s date by default. primaryFlag is set to true by default.Record that previously had primary flag set must be updated so that activeDateTo is set to new primary record’s activeDateFrom and primary flag is set to false. |
PaymentDetailsCreateOrLinkV2
{
"paymentMethod": "CHECK",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| paymentMethod | PaymentDetailsPaymentMethodV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD. TODO: check the enum values. Any business rules?
|
| bankAccountDetails | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | BankAccountProviderOfficeCreateV2 | false | none | Only applicable for paymentMethod=EFT.activeDateFrom is set to today’s date by default. primaryFlag is set to true by default.Record that previously had primary flag set must be updated so that activeDateTo is set to new primary record’s activeDateFrom and primary flag is set to false. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | BankAccountProviderOfficeLinkV2 | false | none | Only applicable for paymentMethod=EFT.activeDateFrom is set to today’s date by default. primaryFlag is set to true by default.Record that previously had primary flag set must be updated so that activeDateTo is set to new primary record’s activeDateFrom and primary flag is set to false. bankAccountGUID can be obtained using GET /provider-firms/{providerFirmGUIDorFirmNumber}/bank-details
|
PaymentDetailsV2
{
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| paymentMethod | PaymentDetailsPaymentMethodV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD. TODO: check the enum values. Any business rules?
|
| paymentHeldFlag | PaymentDetailsPaymentHeldFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_ALL_PAYMENTS_FLAG (this is an enum in CWA “Y”/“N”). TODO: check the enum values. Any business rules?
|
| paymentHeldReason | PaymentDetailsPaymentHeldReasonV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_REASON. TODO: check if this is mandatory when paymentHeldFlag=Y
|
PaymentDetailsPatchOrLinkV2
{
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation",
"bankAccountDetails": {
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| paymentMethod | PaymentDetailsPaymentMethodV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.EDI_PAYMENT_METHOD. TODO: check the enum values. Any business rules?
|
| paymentHeldFlag | PaymentDetailsPaymentHeldFlagV2 | true | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_ALL_PAYMENTS_FLAG (this is an enum in CWA “Y”/“N”). TODO: check the enum values. Any business rules?
|
| paymentHeldReason | PaymentDetailsPaymentHeldReasonV2 | false | none | CWA ref: PO_VENDOR_SITES_ALL.HOLD_REASON. TODO: check if this is mandatory when paymentHeldFlag=Y
|
| bankAccountDetails | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | BankAccountProviderOfficeCreateV2 | false | none | Only applicable for paymentMethod=EFT.activeDateFrom is set to today’s date by default. primaryFlag is set to true by default.Record that previously had primary flag set must be updated so that activeDateTo is set to new primary record’s activeDateFrom and primary flag is set to false. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | BankAccountProviderOfficeLinkV2 | false | none | Only applicable for paymentMethod=EFT.activeDateFrom is set to today’s date by default. primaryFlag is set to true by default.Record that previously had primary flag set must be updated so that activeDateTo is set to new primary record’s activeDateFrom and primary flag is set to false. bankAccountGUID can be obtained using GET /provider-firms/{providerFirmGUIDorFirmNumber}/bank-details
|
BankAccountAccountNameV2
"ABC co (UK) LLP CLIENT A/C 1"
CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NAME
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NAME |
BankAccountSortCodeV2
"601111"
CWA ref: AP_BANK_BRANCHES.BANK_NUM
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: AP_BANK_BRANCHES.BANK_NUM |
BankAccountAccountNumberV2
"06805333"
CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NUM
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NUM |
BankAccountActiveDateFromV2
"2019-08-24"
CWA ref: AP_BANK_ACCOUNT_USES_ALL.START_DATE
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date) | false | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.START_DATE |
BankAccountActiveDateToV2
"2019-08-24"
CWA ref: AP_BANK_ACCOUNT_USES_ALL.END_DATE
Absent from the response for the currently active record (i.e. where the underlying value is null).
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date) | false | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.END_DATE Absent from the response for the currently active record (i.e. where the underlying value is null). |
BankAccountPrimaryFlagV2
true
Marks currently active bank account details for given provider office. Bank account details which are not primary are considered historical selections.
If this flag is set to true and there is an 'old’ bank details record that was marked as primary, then the ‘old’ record should be set to old.primary=false and old.activeDateTo=new.activeDateFrom.
CWA ref: AP_BANK_ACCOUNT_USES_ALL.PRIMARY_FLAG.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | Marks currently active bank account details for given provider office. Bank account details which are not primary are considered historical selections. If this flag is set to true and there is an ‘old’ bank details record that was marked as primary, then the ‘old’ record should be set to old.primary=false and old.activeDateTo=new.activeDateFrom. CWA ref: AP_BANK_ACCOUNT_USES_ALL.PRIMARY_FLAG. |
BankAccountProviderOfficeCreateV2
{
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24"
}
Only applicable for paymentMethod=EFT.
activeDateFrom is set to today’s date by default. primaryFlag is set to true by default.
Record that previously had primary flag set must be updated so that activeDateTo is set to new primary
record’s activeDateFrom and primary flag is set to false.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| accountName | BankAccountAccountNameV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NAME |
| sortCode | BankAccountSortCodeV2 | true | none | CWA ref: AP_BANK_BRANCHES.BANK_NUM |
| accountNumber | BankAccountAccountNumberV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NUM |
| activeDateFrom | BankAccountActiveDateFromV2 | false | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.START_DATE |
BankAccountProviderOfficeLinkV2
{
"bankAccountGUID": "ABCD-DEFG-1234-5678",
"activeDateFrom": "2019-08-24"
}
Only applicable for paymentMethod=EFT.
activeDateFrom is set to today’s date by default. primaryFlag is set to true by default.
Record that previously had primary flag set must be updated so that activeDateTo is set to new primary
record’s activeDateFrom and primary flag is set to false.
bankAccountGUID can be obtained using GET /provider-firms/{providerFirmGUIDorFirmNumber}/bank-details
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| bankAccountGUID | BaseEntityGUIDV2 | false | none | GUID is the primary key for entity |
| activeDateFrom | BankAccountActiveDateFromV2 | false | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.START_DATE |
BankAccountV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » accountName | BankAccountAccountNameV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NAME |
| » sortCode | BankAccountSortCodeV2 | true | none | CWA ref: AP_BANK_BRANCHES.BANK_NUM |
| » accountNumber | BankAccountAccountNumberV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NUM |
OfficeBankAccountV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"primaryFlag": true
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » accountName | BankAccountAccountNameV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NAME |
| » sortCode | BankAccountSortCodeV2 | true | none | CWA ref: AP_BANK_BRANCHES.BANK_NUM |
| » accountNumber | BankAccountAccountNumberV2 | true | none | CWA ref: AP_BANK_ACCOUNTS_ALL.BANK_ACCOUNT_NUM |
| » activeDateFrom | BankAccountActiveDateFromV2 | true | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.START_DATE |
| » activeDateTo | BankAccountActiveDateToV2 | false | none | CWA ref: AP_BANK_ACCOUNT_USES_ALL.END_DATE Absent from the response for the currently active record (i.e. where the underlying value is null). |
| » primaryFlag | BankAccountPrimaryFlagV2 | true | none | Marks currently active bank account details for given provider office. Bank account details which are not primary are considered historical selections. If this flag is set to true and there is an ‘old’ bank details record that was marked as primary, then the ‘old’ record should be set to old.primary=false and old.activeDateTo=new.activeDateFrom. CWA ref: AP_BANK_ACCOUNT_USES_ALL.PRIMARY_FLAG. |
LiaisonManagerFirstNameV2
"John"
CWA ref: PO_VENDOR_CONTACTS.FIRST_NAME
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PO_VENDOR_CONTACTS.FIRST_NAME |
LiaisonManagerLastNameV2
"Smith"
CWA ref: PO_VENDOR_CONTACTS.LAST_NAME
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PO_VENDOR_CONTACTS.LAST_NAME |
LiaisonManagerEmailAddressV2
"john.smith@example.com"
CWA ref: PO_VENDOR_CONTACTS.EMAIL_ADDRESS
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(email) | false | none | CWA ref: PO_VENDOR_CONTACTS.EMAIL_ADDRESS |
LiaisonManagerPhoneV2
"0121 232 1111"
CWA ref: PO_VENDOR_CONTACTS.AREA_CODE + PO_VENDOR_CONTACTS.PHONE.
TODO: any business rules for verifying data? do we need it as a separate field?
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PO_VENDOR_CONTACTS.AREA_CODE + PO_VENDOR_CONTACTS.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
LiaisonManagerActiveDateFromV2
"2019-08-24"
CWA ref: PO_VENDOR_CONTACTS.CREATION_DATE
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date) | false | none | CWA ref: PO_VENDOR_CONTACTS.CREATION_DATE |
LiaisonManagerActiveDateToV2
"2019-08-24"
CWA ref: PO_VENDOR_CONTACTS.INACTIVE_DATE
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date) | false | none | CWA ref: PO_VENDOR_CONTACTS.INACTIVE_DATE |
OfficeLiaisonManagerCreateOrLinkV2
{
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
Properties
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | LiaisonManagerCreateV2 | false | none | activeDateFrom by default is set to today’s date. Previously ‘active’ liaison manager assignment activeDateTo’s value should be set to activeDateFrom’s date minus one day of the new assignment. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | LiaisonManagerLinkHeadOfficeV2 | false | none | Applicable only for LSP offices. Indicates that new Liaison manager assignment should be to the Liaison manager that is currently specified at the head office. This update only links the data (no duplicate is created). |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | LiaisonManagerLinkChambersV2 | false | none | Applicable only for Advocate/Barrister. Indicates that new Liaison manager assignment should be to the Liaison manager that is currently specified at the Chambers’ office. This update only links the data (no duplicate is created). |
LSPOfficeLiaisonManagerCreateOrLinkV2
{
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
Properties
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | LiaisonManagerCreateV2 | false | none | activeDateFrom by default is set to today’s date. Previously ‘active’ liaison manager assignment activeDateTo’s value should be set to activeDateFrom’s date minus one day of the new assignment. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | LiaisonManagerLinkHeadOfficeV2 | false | none | Applicable only for LSP offices. Indicates that new Liaison manager assignment should be to the Liaison manager that is currently specified at the head office. This update only links the data (no duplicate is created). |
ChambersOfficeLiaisonManagerCreateV2
{
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
Properties
None
AdvocateOfficeLiaisonManagerCreateOrLinkV2
{
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
Properties
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | LiaisonManagerCreateV2 | false | none | activeDateFrom by default is set to today’s date. Previously ‘active’ liaison manager assignment activeDateTo’s value should be set to activeDateFrom’s date minus one day of the new assignment. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | LiaisonManagerLinkChambersV2 | false | none | Applicable only for Advocate/Barrister. Indicates that new Liaison manager assignment should be to the Liaison manager that is currently specified at the Chambers’ office. This update only links the data (no duplicate is created). |
LiaisonManagerCreateV2
{
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24"
}
activeDateFrom by default is set to today’s date. Previously ‘active’ liaison manager assignment activeDateTo’s value should be set to activeDateFrom’s date minus one day of the new assignment.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| firstName | LiaisonManagerFirstNameV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.FIRST_NAME |
| lastName | LiaisonManagerLastNameV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.LAST_NAME |
| emailAddress | LiaisonManagerEmailAddressV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.EMAIL_ADDRESS |
| telephoneNumber | LiaisonManagerPhoneV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.AREA_CODE + PO_VENDOR_CONTACTS.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| activeDateFrom | LiaisonManagerActiveDateFromV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.CREATION_DATE |
LiaisonManagerLinkHeadOfficeV2
{
"useHeadOfficeLiaisonManager": true
}
Applicable only for LSP offices. Indicates that new Liaison manager assignment should be to the Liaison manager that is currently specified at the head office. This update only links the data (no duplicate is created).
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| useHeadOfficeLiaisonManager | boolean | true | none | Setting this flag to true interlinks Liaison manager record from the head office (or Chambers) |
LiaisonManagerLinkChambersV2
{
"useChambersLiaisonManager": true
}
Applicable only for Advocate/Barrister. Indicates that new Liaison manager assignment should be to the Liaison manager that is currently specified at the Chambers’ office. This update only links the data (no duplicate is created).
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| useChambersLiaisonManager | boolean | true | none | Setting this flag to true interlinks Liaison manager record from the head office (or Chambers) |
LiaisonManagerLinkedFlagV2
true
Indicates whether this liaison manager entry is specific to given provider or is linked.
If the office is LSP and this flag is set to true it indicates that useHeadOfficeLiaisonManager option was used to create this entry.
If the office is Advocate/Barrister and this flag is set to true it indicates that useChambersLiaisonManager option was used to create this entry.
Note that if this attribute is set to true then updates at the parent entity should cascade to create new linked assignment.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | Indicates whether this liaison manager entry is specific to given provider or is linked. If the office is LSP and this flag is set to true it indicates that useHeadOfficeLiaisonManager option was used to create this entry.If the office is Advocate/Barrister and this flag is set to true it indicates that useChambersLiaisonManager option was used to create this entry.Note that if this attribute is set to true then updates at the parent entity should cascade to create new linked assignment. |
LiaisonManagerV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"linkedFlag": true
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » firstName | LiaisonManagerFirstNameV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.FIRST_NAME |
| » lastName | LiaisonManagerLastNameV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.LAST_NAME |
| » emailAddress | LiaisonManagerEmailAddressV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.EMAIL_ADDRESS |
| » telephoneNumber | LiaisonManagerPhoneV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.AREA_CODE + PO_VENDOR_CONTACTS.PHONE. TODO: any business rules for verifying data? do we need it as a separate field?
|
| » activeDateFrom | LiaisonManagerActiveDateFromV2 | true | none | CWA ref: PO_VENDOR_CONTACTS.CREATION_DATE |
| » activeDateTo | LiaisonManagerActiveDateToV2 | false | none | CWA ref: PO_VENDOR_CONTACTS.INACTIVE_DATE |
| » linkedFlag | LiaisonManagerLinkedFlagV2 | true | none | Indicates whether this liaison manager entry is specific to given provider or is linked. If the office is LSP and this flag is set to true it indicates that useHeadOfficeLiaisonManager option was used to create this entry.If the office is Advocate/Barrister and this flag is set to true it indicates that useChambersLiaisonManager option was used to create this entry.Note that if this attribute is set to true then updates at the parent entity should cascade to create new linked assignment. |
OfficeLiaisonManagerPatchV2
{
"liaisonManagerGUID": "ABCD-DEFG-1234-5678"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| liaisonManagerGUID | BaseEntityGUIDV2 | false | none | GUID is the primary key for entity |
ContractManagerProviderLinkV2
{
"contractManagerGuid": "ABCD-DEFG-1234-5678"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| contractManagerGuid | BaseEntityGUIDV2 | false | none | GUID is the primary key for entity |
ContractManagerProviderPatchV2
{
"contractManagerGUID": "ABCD-DEFG-1234-5678"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| contractManagerGUID | BaseEntityGUIDV2 | false | none | GUID is the primary key for entity |
OfficePractitionerV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmNumber": "3856",
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"practitioner": {
"parentFirms": [
{
"parentGuid": "ABCD-DEFG-1234-5678",
"parentFirmNumber": "3856",
"parentFirmType": "Legal Services Provider"
}
],
"advocateType": "Advocate",
"office": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
},
"advocate": {
"advocateLevel": "Junior",
"solicitorRegulationAuthorityRollNumber": "`TODO: provide example`"
}
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ProviderBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ProviderPractitionerV2 | false | none | Provider of firmType=Advocate
|
ContractManagerContractManagerIdV2
"`TODO: provide example`"
CWA ref: PER_ALL_PEOPLE_F.PERSON_ID (for provider firms’ offices ID is stored in PO_VENDOR_SITES_ALL.ATTRIBUTE4)
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PER_ALL_PEOPLE_F.PERSON_ID (for provider firms’ offices ID is stored in PO_VENDOR_SITES_ALL.ATTRIBUTE4) |
ContractManagerFirstNameV2
"John"
CWA ref: PER_ALL_PEOPLE_F.FIRST_NAME
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PER_ALL_PEOPLE_F.FIRST_NAME |
ContractManagerLastNameV2
"Smith"
CWA ref: PER_ALL_PEOPLE_F.LAST_NAME
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | CWA ref: PER_ALL_PEOPLE_F.LAST_NAME |
ContractManagerEmailAddressV2
"john.smith@example.com"
CWA ref: PER_ALL_PEOPLE_F.EMAIL_ADDRESS
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(email) | false | none | CWA ref: PER_ALL_PEOPLE_F.EMAIL_ADDRESS |
ContractManagerV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"contractManagerId": "`TODO: provide example`",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » contractManagerId | ContractManagerContractManagerIdV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.PERSON_ID (for provider firms’ offices ID is stored in PO_VENDOR_SITES_ALL.ATTRIBUTE4) |
| » firstName | ContractManagerFirstNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.FIRST_NAME |
| » lastName | ContractManagerLastNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.LAST_NAME |
| ContractManagerEmailAddressV2 | false | none | CWA ref: PER_ALL_PEOPLE_F.EMAIL_ADDRESS |
OfficeContractManagerV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"contractManagerId": "`TODO: provide example`",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » contractManagerId | ContractManagerContractManagerIdV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.PERSON_ID (for provider firms’ offices ID is stored in PO_VENDOR_SITES_ALL.ATTRIBUTE4) |
| » firstName | ContractManagerFirstNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.FIRST_NAME |
| » lastName | ContractManagerLastNameV2 | true | none | CWA ref: PER_ALL_PEOPLE_F.LAST_NAME |
| ContractManagerEmailAddressV2 | false | none | CWA ref: PER_ALL_PEOPLE_F.EMAIL_ADDRESS |
PaginatedSearchV2
{
"searchCriteria": {
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
},
"pagination": {
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
},
"sort": {
"field": "sortByOption",
"direction": "asc"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| searchCriteria | SearchCriteriaV2 | true | none | none |
| pagination | PaginationV2 | true | none | none |
| sort | SortV2 | false | none | none |
SearchCriteriaV2
{
"criteria": [
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| criteria | [SearchCriterionV2] | false | none | none |
SearchCriterionV2
{
"filter": "guid",
"values": [
"ABCD-EFGH-1234-5678"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| filter | string | false | none | Filter key |
| values | [string] | false | none | none |
PaginationV2
{
"currentPage": 2,
"pageSize": 10,
"totalPages": 5,
"totalItems": 123
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| currentPage | number | false | none | Page index denoting the current page index for response, starting from 0 |
| pageSize | number | false | none | Page size used for this search |
| totalPages | number | false | none | Total number of pages |
| totalItems | number | false | none | Total number of records for given search request |
SortV2
{
"field": "sortByOption",
"direction": "asc"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| field | string | false | none | none |
| direction | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| direction | asc |
| direction | desc |
LinksV2
{
"self": "/example?page=2&pageSize=10",
"next": "/example?page=3&pageSize=10",
"prev": "/example?page=1&pageSize=10",
"first": "/example?page=1&pageSize=10",
"last": "/example?page=5&pageSize=10"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| self | string(uri) | false | none | none |
| next | string(uri) | false | none | none |
| prev | string(uri) | false | none | none |
| first | string(uri) | false | none | none |
| last | string(uri) | false | none | none |
ProviderFirmChangedSnapshotEventV2Payload
{
"providerFirm": {
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmNumber": "3856",
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"notForProfitOrganisationFlag": true,
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
},
"bankDetails": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333"
}
],
"offices": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
},
"liaisonManagers": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"linkedFlag": true
}
],
"contractManagers": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"contractManagerId": "`TODO: provide example`",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com"
}
],
"officeBankDetails": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"primaryFlag": true
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| providerFirm | ProviderV2 | false | none | none |
| bankDetails | [BankAccountV2] | false | none | none |
| offices | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | OfficeV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | none |
| »» liaisonManagers | [LiaisonManagerV2] | true | none | none |
| »» contractManagers | [ContractManagerV2] | true | none | none |
| »» officeBankDetails | [OfficeBankAccountV2] | false | none | none |
EventTypeV2
"ProviderFirmChangedSnapshotEvent"
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | ProviderFirmChangedSnapshotEvent |
EventSourceV2
"apiV2"
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | apiV2 |
EventHeaderV2
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"eventSource": "apiV2",
"eventType": "ProviderFirmChangedSnapshotEvent",
"correlationId": "string",
"traceId": "string"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseEntityV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » eventSource | EventSourceV2 | false | none | none |
| » eventType | EventTypeV2 | false | none | none |
| » correlationId | string | false | none | none |
| » traceId | string | false | none | none |
EventV2
{
"eventHeader": {
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"eventSource": "apiV2",
"eventType": "ProviderFirmChangedSnapshotEvent",
"correlationId": "string",
"traceId": "string"
},
"eventPayload": {
"providerFirm": {
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmNumber": "3856",
"firmType": "Legal Services Provider",
"name": "Legal Services Co.",
"legalServicesProvider": {
"constitutionalStatus": "Partnership",
"notForProfitOrganisationFlag": true,
"indemnityReceivedDate": "2019-08-24",
"companiesHouseNumber": "`TODO: provide example`",
"headOffice": {
"officeGUID": "ABCD-DEFG-1234-5678",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24"
}
}
},
"bankDetails": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333"
}
],
"offices": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firmType": "Legal Services Provider",
"accountNumber": "0Q731M",
"activeDateTo": "2019-08-24",
"debtRecoveryFlag": true,
"falseBalanceFlag": true,
"intervened": {
"intervenedFlag": true,
"intervenedChangeDate": "2019-08-24"
},
"address": {
"line1": "OLD COUNTY COURT",
"line2": "56 WESTGATE ROAD",
"line3": "string",
"line4": "string",
"townOrCity": "NEWCASTLE-UPON-TYNE",
"county": "string",
"postcode": "NE1 5XU"
},
"telephoneNumber": "0121 232 1111",
"emailAddress": "user@example.com",
"website": "www.abc.com",
"dxDetails": {
"dxNumber": "string",
"dxCentre": "string"
},
"vatRegistration": {
"vatNumber": "476628407"
},
"payment": {
"paymentMethod": "CHECK",
"paymentHeldFlag": true,
"paymentHeldReason": "Under investigation"
},
"liaisonManagers": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@example.com",
"telephoneNumber": "0121 232 1111",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"linkedFlag": true
}
],
"contractManagers": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"contractManagerId": "`TODO: provide example`",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com"
}
],
"officeBankDetails": [
{
"guid": "ABCD-DEFG-1234-5678",
"version": "12",
"createdBy": "john.smith.42",
"createdTimestamp": "2025-09-25T09:30:00Z",
"lastUpdatedBy": "john.doe.24",
"lastUpdatedTimestamp": "2025-09-26T12:30:00Z",
"accountName": "ABC co (UK) LLP CLIENT A/C 1",
"sortCode": "601111",
"accountNumber": "06805333",
"activeDateFrom": "2019-08-24",
"activeDateTo": "2019-08-24",
"primaryFlag": true
}
]
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| eventHeader | EventHeaderV2 | true | none | none |
| eventPayload | ProviderFirmChangedSnapshotEventV2Payload | true | none | none |