diff --git a/postman/INT.postman_environment.json b/postman/INT.postman_environment.json new file mode 100644 index 00000000..30e9d47b --- /dev/null +++ b/postman/INT.postman_environment.json @@ -0,0 +1,70 @@ +{ + "id": "22fac400-f932-4ea9-8ef4-86b135cfcea0", + "name": "INT", + "values": [ + { + "key": "cis2_token", + "value": "", + "type": "secret", + "enabled": true + }, + { + "key": "login_token", + "value": "", + "type": "secret", + "enabled": true + }, + { + "key": "api_base_url", + "value": "https://int.api.service.nhs.uk/validated-relationships/FHIR/R4", + "type": "default", + "enabled": true + }, + { + "key": "vrs_api_private_key", + "value": "", + "type": "secret", + "enabled": true + }, + { + "key": "nhs_developer_account_api_key", + "value": "", + "type": "secret", + "enabled": true + }, + { + "key": "consent_app_auth_header_value", + "value": "", + "type": "secret", + "enabled": true + }, + { + "key": "tpp_9674998535_access_token", + "value": "", + "type": "secret", + "enabled": true + }, + { + "key": "tpp_9674998454_access_token", + "value": "", + "type": "secret", + "enabled": true + }, + { + "key": "emis_9692113698_access_token", + "value": "", + "type": "secret", + "enabled": true + }, + { + "key": "emis_9692113612_access_token", + "value": "", + "type": "secret", + "enabled": true + } + ], + "color": null, + "_postman_variable_scope": "environment", + "_postman_exported_at": "2025-12-05T12:22:03.035Z", + "_postman_exported_using": "Postman/11.74.2" +} \ No newline at end of file diff --git a/postman/README.md b/postman/README.md index c50c7b23..a69cf66d 100644 --- a/postman/README.md +++ b/postman/README.md @@ -1,8 +1,18 @@ -# Postman Collection +# Postman Collections -This folder contains the Postman collection for the API. +This folder contains the Sandbox and Integration Postman collections for the VRS API. > [!WARNING] > Documentation and links in this file are specific to the maintainers of this repository and are only available to NHS England staff. -To update the Postman collection follow the steps on the [How to update Postman Collection Confluence page](https://nhsd-confluence.digital.nhs.uk/pages/viewpage.action?pageId=874694621) +## Updating the collections + +To update the Postman collections follow the steps on the [How to update Postman Collection Confluence page](https://nhsd-confluence.digital.nhs.uk/pages/viewpage.action?pageId=874694621) + +## Integration collection + +The 'integration' postman collection includes requests and examples to be used by the VRS team, consumers, and external +parties to test against our INT environment. + +For details on the environment variables and authorization methods required for this environment, please see the Getting +Started section within the Postman collection itself. diff --git a/postman/validated_relationship_service.integration.postman_collection.json b/postman/validated_relationship_service.integration.postman_collection.json new file mode 100644 index 00000000..0fd42d9f --- /dev/null +++ b/postman/validated_relationship_service.integration.postman_collection.json @@ -0,0 +1,8923 @@ +{ + "info": { + "_postman_id": "c3ee07a1-47e5-43f7-96f9-5e56d403af45", + "name": "Validated Relationship Service - Integration", + "description": "## About the collection\n\nThe collection has been organised by API endpoint - you will find a folder for each one.\n\nWithin those endpoints are requests covering success and error response scenarios.\n\nEach request has at least 1 example against it. This shows the expected response for that request. Some requests have multiple examples showing how the response differs when different parameters are provided.\n\n### Authorization types\n\nWhen you send a request to the Validated Relationship Service, your request will first be authorised by the API Management service (APIM).\n\nThe Validated Relationship Service has 3 types of authorization:\n\n- CIS2 - For healthcare practitioners\n \n- App-restricted - for service-to-service authorization\n \n- Login - For patient/proxy access via the NHS App\n \n\nEach VRS API endpoint uses a different combination of these auth types depending on their use case.\n\nYou will need to follow the steps in the 'Getting Started' section below to set the correct authorization tokens for each of these types.\n\nPlease see the folder-level docs for each endpoint for details about what auth types are available to use.\n\n## Getting started\n\n### Environment variables\n\nYou will need to add the following environment variables to the collection.\n\n#### `cis2_token`\n\nAuthorization token value for CIS2 (healthcare practitioner access).\n\n_Only required when using endponts that require this auth method._\n\nThis value can be generated by running the `get_cis2_access_token_int.py` script . See more details in the 'How to create a valid Authorization header' section below.\n\n#### `login_token`\n\nAuthorization token value for NHS Login (patient access).\n\n_Only required when using endponts that require this auth method._\n\nThis value can be generated by running the `get_nhs_login_access_token_int.py` script . See more details in the 'How to create a valid Authorization header' section below.\n\n#### `vrs_api_private_key`\n\n**(This is not the same as the private key in the NHS Developer Account portal.)**\n\nAPI private key for the Validated Relationship Service integration application.\n\n_Only required when using endponts that use the app restricted auth method._\n\nThis value can be copied from the /main/vrs-app-credentials-{id} secret in **AWS Secrets Manager** or requested to be sent securely from a member of the VRS team.\n\n#### `nhs_developer_account_api_key`\n\nAPI app key for the Validated Relationship Service integration application.\n\n_Only required when using endponts that use the app restricted auth method._\n\nThis value can be copied from the NHS - Proxy Core Services - Integration environment resource in the NHS Developer Account portal.\n\n#### `consent_app_auth_header_value` (Generated automatically)\n\nAuthorization token value for app restricted auth.\n\n_Only required when using endponts that use the app restricted auth method._\n\n**You do not need to change this value as it is automatically set in the pre-request script.**\n\n#### `tpp_9674998535_access_token`, `tpp_9674998454_access_token`, `emis_9692113698_access_token,` and `emis_9692113612_access_token`\n\nAuthorization token value for connecting to GPIT supplier systems in NAM tests (Get proxy roles only).\n\n_Only required when running the_ `_Get proxy roles (GET/Consent) Valid request - NAM - Get proxy roles_` _requests._\n\nValues for these environment variables can be found on the [Test data page in Confluence](https://nhsd-confluence.digital.nhs.uk/spaces/NPA/pages/950553445/Test+data+and+accounts+repository+-+NPA#TestdataandaccountsrepositoryNPA-GPITtestaccountsforEXT).\n\n### How to create a valid Authorization header\n\n#### Manually through Python scripts (required for Login and CIS2)\n\n##### Pre-requisites\n\nAccess the token generation scripts from the [validated-relationships-service-api repo](https://github.com/NHSDigital/validated-relationships-service-api/tree/master/scripts):\n\n- get_app_access_token_int.py - for app restricted authorization\n \n- get_cis2_access_token_int.py - for CIS2 authorization\n \n- get_nhs_login_access_token_int.py - for Login user authorization\n \n\nSee the [README](https://github.com/NHSDigital/validated-relationships-service-api/tree/master/scripts/README.md) for information about how to run them and what environment variables are needed.\n\n##### Steps\n\n1. Generate bearer tokens for each of the above methods using the provided scripts\n \n2. Go to the Authorization tab for this Postman request\n \n3. Select 'Bearer token' from the drop-down\n \n4. Copy just the 'access_request' value from the script output into the Token field. You do **not** need to add the word 'bearer' before the value.\n \n\nTokens expire every 5 minutes. Once expired, you will receive an 'Unauthorised' response from the API endpoints. At this point, a new token will need to be generated by repeating the above steps.\n\n#### Automatically through pre-request script (for App-restricted)\n\nA pre-request script has been added to the endpoints where app-restricted auth can be used to obtain app-restricted tokens automatically. For this to work, you will need to add values for the following environment variables:\n\n- `private_key`\n \n- `api_key`\n \n\nIf those values are set and valid, then no further action is required.\n\n## Running a request\n\nOnce you have completed the above 'Getting Started' steps you will be able to send requests by either clicking the 'Send' button on each request, or the 'Try' button on each example.\n\nThe pre-prod environments are not constricted to just the requests provided in this collection. Feel free to change and create requests/examples as you require. However, only the test users provided will work in these environments.\n\n## Test data\n\nAll of the requests in the collection use test data and users that have been set up to demonstrate each specific scenario. No sensitive data is stored in this collection.\n\nSee each scenario for information about what test users are being used.", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "18067099", + "_collection_link": "https://www.postman.com/lunar-crescent-672573/workspace/validated-relationship-service-pre-prod-20-11-2025/collection/18067099-c3ee07a1-47e5-43f7-96f9-5e56d403af45?action=share&source=collection_link&creator=18067099" + }, + "item": [ + { + "name": "Get proxy roles (GET /Consent)", + "item": [ + { + "name": "Valid request - NPS - Get proxy roles for performer", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + }, + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898148", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898148" + } + ] + }, + "description": "This request and its examples will only retrieve proxy roles from the National Proxy Store and not directly from GPIT suppliers via NAM.\n\nSee folder-level docs for more info.\n\n## Example scenario\n\n**Given** proxy roles exist for a performer (proxy) in the National Proxy Store (NPS) \n**When** a GET /Consent request is sent with the performer identifier \n**Then** the proxy roles in NPS are returned\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "Proxy roles returned - No patient or performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898148", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898148" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 10:48:19 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "3486" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "cf3a99a3-7592-4968-893c-e443d6cb27c8" + }, + { + "key": "x-amz-apigw-id", + "value": "VD0FoHiurPEFXqQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-693166f0-1bb8c61dd3aa101687d0b754" + }, + { + "key": "X-Request-ID", + "value": "d3ec5ec8-088f-4db6-8342-1a21d2a2af16" + }, + { + "key": "X-Correlation-ID", + "value": "656bfa49-711b-48c4-9427-1ed8fa34260f" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T10:48:19Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898148\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"resource\": {\n \"id\": \"7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:46:27Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"resource\": {\n \"id\": \"b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:47:43Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Include patient details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898148&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898148" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 10:50:25 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "6923" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "edd035fd-2cdb-4c7a-a55c-a55e6faf5743" + }, + { + "key": "x-amz-apigw-id", + "value": "VD0ZXFA2LPEFYqg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6931676e-74035c00139aae000a60b5d7" + }, + { + "key": "X-Request-ID", + "value": "64b0f06f-a35e-44bb-baf4-33de94895236" + }, + { + "key": "X-Correlation-ID", + "value": "6a95b411-9936-49bb-bbcb-8e6776417762" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T10:50:25Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898148&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"resource\": {\n \"id\": \"7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:46:27Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"resource\": {\n \"id\": \"b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:47:43Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898644\",\n \"resource\": {\n \"id\": \"9736898644\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"29706100\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"gDmhc\",\n \"line\": [\n \"BRAMBLE COTTAGE\",\n \"OLD VICARAGE PARK\",\n \"SCAWBY\",\n \"BRIGG\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2021-09-10\"\n },\n \"postalCode\": \"DN20 9RL\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2015-09-26\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"gDHTb\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2018-08-22\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898717\",\n \"resource\": {\n \"id\": \"9736898717\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"16654057\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"YoGEf\",\n \"line\": [\n \"GLENVILLE\",\n \"FERRY ROAD\",\n \"GOXHILL\",\n \"BARROW-UPON-HUMBER\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2016-04-09\"\n },\n \"postalCode\": \"DN19 7JY\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2010-05-31\",\n \"gender\": \"male\",\n \"generalPractitioner\": [\n {\n \"id\": \"bYoHa\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2016-02-12\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n ],\n \"name\": [\n {\n \"family\": \"CASH\",\n \"given\": [\n \"Jacob\",\n \"Chas\"\n ],\n \"period\": {\n \"start\": \"2025-07-22\"\n },\n \"prefix\": [\n \"MR\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Include performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898148&_include=Consent:performer", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898148" + }, + { + "key": "_include", + "value": "Consent:performer" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 10:50:45 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "5289" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "60649be0-6363-4601-b792-d631af45a966" + }, + { + "key": "x-amz-apigw-id", + "value": "VD0cyFTYLPEF-Fg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316784-cee1c757e6d4e43fb4837684" + }, + { + "key": "X-Request-ID", + "value": "8a113b57-8af9-4d34-b300-100c84059319" + }, + { + "key": "X-Correlation-ID", + "value": "a3683a8c-6172-44a7-8410-0e78a705907b" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T10:50:45Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898148&_include=Consent%3Aperformer\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"resource\": {\n \"id\": \"7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:46:27Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"resource\": {\n \"id\": \"b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:47:43Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/ZfgKO\",\n \"resource\": {\n \"id\": \"ZfgKO\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/UwTCq\",\n \"resource\": {\n \"id\": \"UwTCq\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Include patient and performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898148&_include=Consent:performer&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898148" + }, + { + "key": "_include", + "value": "Consent:performer" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 10:51:06 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "8726" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "2b36e22f-2649-44c9-b3ce-929ea840df0f" + }, + { + "key": "x-amz-apigw-id", + "value": "VD0gJFjQLPEF_Ew=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6931679a-aa7dfa232b694d8fdbd9823f" + }, + { + "key": "X-Request-ID", + "value": "d5743541-7330-4347-b9c7-9067feb4b144" + }, + { + "key": "X-Correlation-ID", + "value": "af030657-aad8-45f4-9c70-85e4755a189f" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T10:51:06Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898148&_include=Consent%3Aperformer&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"resource\": {\n \"id\": \"7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:46:27Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"resource\": {\n \"id\": \"b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:47:43Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898644\",\n \"resource\": {\n \"id\": \"9736898644\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"29706100\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"gDmhc\",\n \"line\": [\n \"BRAMBLE COTTAGE\",\n \"OLD VICARAGE PARK\",\n \"SCAWBY\",\n \"BRIGG\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2021-09-10\"\n },\n \"postalCode\": \"DN20 9RL\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2015-09-26\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"gDHTb\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2018-08-22\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898717\",\n \"resource\": {\n \"id\": \"9736898717\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"16654057\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"YoGEf\",\n \"line\": [\n \"GLENVILLE\",\n \"FERRY ROAD\",\n \"GOXHILL\",\n \"BARROW-UPON-HUMBER\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2016-04-09\"\n },\n \"postalCode\": \"DN19 7JY\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2010-05-31\",\n \"gender\": \"male\",\n \"generalPractitioner\": [\n {\n \"id\": \"bYoHa\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2016-02-12\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n ],\n \"name\": [\n {\n \"family\": \"CASH\",\n \"given\": [\n \"Jacob\",\n \"Chas\"\n ],\n \"period\": {\n \"start\": \"2025-07-22\"\n },\n \"prefix\": [\n \"MR\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/ZfgKO\",\n \"resource\": {\n \"id\": \"ZfgKO\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/UwTCq\",\n \"resource\": {\n \"id\": \"UwTCq\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Filtered by status 'inactive'", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898156&status=inactive", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898156" + }, + { + "key": "status", + "value": "inactive" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:09:14 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "1888" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "290a4ffd-6021-435c-af76-8d6c80492b72" + }, + { + "key": "x-amz-apigw-id", + "value": "VD3JoHOkrPEFSoA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316bd6-5bd69e7021cf6e4e0696d153" + }, + { + "key": "X-Request-ID", + "value": "8b8298dc-a9a4-4257-a6b9-f99d5ff65983" + }, + { + "key": "X-Correlation-ID", + "value": "5af5dfe2-b247-4624-8268-bb4e78593eb3" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:09:14Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898156&status=inactive\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/750cb586-eb9b-46c7-a1a5-711307a087af\",\n \"resource\": {\n \"id\": \"750cb586-eb9b-46c7-a1a5-711307a087af\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:55:53Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898652\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2025-12-05\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"inactive\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Filtered by status 'active' and include patient and performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898156&status=active&_include=Consent:performer&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898156" + }, + { + "key": "status", + "value": "active" + }, + { + "key": "_include", + "value": "Consent:performer" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:09:41 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "4528" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "44c6f0cf-6bdb-4b96-8889-55ebe68b8c60" + }, + { + "key": "x-amz-apigw-id", + "value": "VD3M5FGYrPEFZVg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316beb-f2f5e05791f831ed34fb0afa" + }, + { + "key": "X-Request-ID", + "value": "73bded49-9645-4418-bf08-ebd13d92c2a1" + }, + { + "key": "X-Correlation-ID", + "value": "15b5d9d5-9909-458a-91c5-64ee20e93a01" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:09:40Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898156&status=active&_include=Consent%3Aperformer&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"resource\": {\n \"id\": \"4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:08:46Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-12-05\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898660\",\n \"resource\": {\n \"id\": \"9736898660\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"19976537\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"pBQDr\",\n \"line\": [\n \"CARLTON\",\n \"VICARAGE LANE\",\n \"REDBOURNE\",\n \"GAINSBOROUGH\",\n \"LINCS\"\n ],\n \"period\": {\n \"start\": \"2025-07-15\"\n },\n \"postalCode\": \"DN21 4QW\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2012-04-24\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"xSEnH\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2024-11-06\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n ],\n \"name\": [\n {\n \"family\": \"GODREY\",\n \"given\": [\n \"Davina\",\n \"Linda\"\n ],\n \"period\": {\n \"start\": \"2017-04-22\"\n },\n \"prefix\": [\n \"MISS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/nVLgl\",\n \"resource\": {\n \"id\": \"nVLgl\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + } + ] + }, + { + "name": "Valid request - NPS - Get proxy roles for patient", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + }, + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898644", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898644" + } + ] + }, + "description": "This request and its examples will only retrieve proxy roles from the National Proxy Store and not directly from GPIT suppliers via NAM.\n\nSee folder level docs for more info.\n\n## Example scenario\n\n**Given** proxy roles exist for a patient in the National Proxy Store (NPS) \n**When** a GET /Consent request is sent with the patient identifier \n**Then** the proxy roles in NPS are returned\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "Proxy roles returned - No patient or performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898644", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898644" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:17:19 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "3484" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "cd84643e-5789-445f-9d2f-eb53fe6b57c5" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4VeEsnLPEFmxA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316dbc-851b7fe822d672bb07d0be6d" + }, + { + "key": "X-Request-ID", + "value": "b7120974-233d-4634-80e2-f404e817f80b" + }, + { + "key": "X-Correlation-ID", + "value": "73e7ab39-f339-4f53-8090-d4320c6a1fc5" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:17:19Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?patient%3Aidentifier=9736898644\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"resource\": {\n \"id\": \"7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:46:27Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"resource\": {\n \"id\": \"553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:15:26Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Include performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898644&_include=Consent:performer", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898644" + }, + { + "key": "_include", + "value": "Consent:performer" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:17:45 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "5287" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "d6ea589d-359b-43a5-ac3d-6b570eec9cac" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4YuGlSLPEF7zw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316dd1-47a064ac1a1d588355c13564" + }, + { + "key": "X-Request-ID", + "value": "eb00dad3-5e15-4ade-8ee9-f3597bfab4d3" + }, + { + "key": "X-Correlation-ID", + "value": "a496e8bd-c333-4e87-9927-bbe9ead436a4" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:17:45Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?patient%3Aidentifier=9736898644&_include=Consent%3Aperformer\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"resource\": {\n \"id\": \"7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:46:27Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"resource\": {\n \"id\": \"553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:15:26Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/ZfgKO\",\n \"resource\": {\n \"id\": \"ZfgKO\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/EAONj\",\n \"resource\": {\n \"id\": \"EAONj\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Include patient details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898644&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898644" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:18:02 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "5218" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "3a81d012-80ef-4350-8d7b-1f8cda1ef809" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4cPGnErPEFYsw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316de7-bb724d308ffa3272269bfba9" + }, + { + "key": "X-Request-ID", + "value": "ada44c4a-9dcc-4666-a97e-72ebce5630a8" + }, + { + "key": "X-Correlation-ID", + "value": "cfa6112c-4235-41a4-9e58-f4f04d4f7614" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:18:02Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?patient%3Aidentifier=9736898644&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"resource\": {\n \"id\": \"7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:46:27Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"resource\": {\n \"id\": \"553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:15:26Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898644\",\n \"resource\": {\n \"id\": \"9736898644\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"29706100\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"gDmhc\",\n \"line\": [\n \"BRAMBLE COTTAGE\",\n \"OLD VICARAGE PARK\",\n \"SCAWBY\",\n \"BRIGG\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2021-09-10\"\n },\n \"postalCode\": \"DN20 9RL\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2015-09-26\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"gDHTb\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2018-08-22\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Include patient and performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898644&_include=Consent:performer&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898644" + }, + { + "key": "_include", + "value": "Consent:performer" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:18:17 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "7021" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "013f49d1-ffbe-4880-bfd6-1b92d13d08a3" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4evE6yLPEFZZA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316df7-175910d69cd894708a0921b9" + }, + { + "key": "X-Request-ID", + "value": "9ce9a6d5-2bd2-4d5e-a984-2c78a457f4d4" + }, + { + "key": "X-Correlation-ID", + "value": "02eabdf7-0a76-4fec-9c99-306273ea8da5" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:18:17Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?patient%3Aidentifier=9736898644&_include=Consent%3Aperformer&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"resource\": {\n \"id\": \"7597397b-ac6e-4eb7-b49e-bb1636115d2e\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:46:27Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"resource\": {\n \"id\": \"553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:15:26Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898644\",\n \"resource\": {\n \"id\": \"9736898644\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"29706100\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"gDmhc\",\n \"line\": [\n \"BRAMBLE COTTAGE\",\n \"OLD VICARAGE PARK\",\n \"SCAWBY\",\n \"BRIGG\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2021-09-10\"\n },\n \"postalCode\": \"DN20 9RL\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2015-09-26\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"gDHTb\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2018-08-22\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/ZfgKO\",\n \"resource\": {\n \"id\": \"ZfgKO\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/EAONj\",\n \"resource\": {\n \"id\": \"EAONj\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Filtered by status 'inactive'", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898717&status=inactive", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898717" + }, + { + "key": "status", + "value": "inactive" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:18:37 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "1886" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "595418c1-5c22-46b6-907c-e799e9fdf609" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4iFHTWLPEFnHA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316e0c-b334c67c9e4d72fd5809672a" + }, + { + "key": "X-Request-ID", + "value": "e6ad06af-45a7-4f98-92c2-88300871c3bc" + }, + { + "key": "X-Correlation-ID", + "value": "8d75c837-bd9e-4784-ac40-84322ee4d188" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:18:37Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?patient%3Aidentifier=9736898717&status=inactive\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/cf7bc8e6-f8e0-41c5-8d08-1741eee5a256\",\n \"resource\": {\n \"id\": \"cf7bc8e6-f8e0-41c5-8d08-1741eee5a256\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:16:43Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"inactive\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Filtered by status 'active' and include patient and performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898717&status=active&_include=Consent:performer&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898717" + }, + { + "key": "status", + "value": "active" + }, + { + "key": "_include", + "value": "Consent:performer" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:18:51 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "4528" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "bd5079fb-1fc3-428c-ab53-5ba1dfacc510" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4kRHuoLPEF-DQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316e1a-0dc7c19d64d48ad8a86c4518" + }, + { + "key": "X-Request-ID", + "value": "8da5a25e-ef8b-4cec-84c0-81af22e5132f" + }, + { + "key": "X-Correlation-ID", + "value": "ce7840a8-db71-4897-9853-d06c699adca9" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:18:51Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?patient%3Aidentifier=9736898717&status=active&_include=Consent%3Aperformer&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"resource\": {\n \"id\": \"b22d6068-fe78-40f4-b71a-b916dac48c0b\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:47:43Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898717\",\n \"resource\": {\n \"id\": \"9736898717\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"16654057\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"YoGEf\",\n \"line\": [\n \"GLENVILLE\",\n \"FERRY ROAD\",\n \"GOXHILL\",\n \"BARROW-UPON-HUMBER\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2016-04-09\"\n },\n \"postalCode\": \"DN19 7JY\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2010-05-31\",\n \"gender\": \"male\",\n \"generalPractitioner\": [\n {\n \"id\": \"bYoHa\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2016-02-12\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n ],\n \"name\": [\n {\n \"family\": \"CASH\",\n \"given\": [\n \"Jacob\",\n \"Chas\"\n ],\n \"period\": {\n \"start\": \"2025-07-22\"\n },\n \"prefix\": [\n \"MR\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/UwTCq\",\n \"resource\": {\n \"id\": \"UwTCq\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + } + ] + }, + { + "name": "Valid request - NPS - Get proxy roles for patient and proxy", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + }, + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898121&patient:identifier=9736898644", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898121" + }, + { + "key": "patient:identifier", + "value": "9736898644" + } + ] + }, + "description": "This request and its examples will only retrieve proxy roles from the National Proxy Store and not directly from GPIT suppliers via NAM.\n\nSee folder level docs for more info.\n\n## Example scenario\n\n**Given** proxy roles exist for a patient in the National Proxy Store (NPS) \n**When** a GET /Consent request is sent with the performer and patient identifier \n**Then** a single proxy role from NPS is returned\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "Proxy roles returned - No patient or performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898121&patient:identifier=9736898644", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898121" + }, + { + "key": "patient:identifier", + "value": "9736898644" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:19:27 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "1902" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "3d56eb4c-4bc0-47d8-bc61-a55b098dfd9c" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4p_GRgrPEFVPA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316e3f-6ddd811fdb997165b9c6a0d5" + }, + { + "key": "X-Request-ID", + "value": "f8ac2f03-2a5f-4ff7-8ada-093f55fb9c38" + }, + { + "key": "X-Correlation-ID", + "value": "8fc4ed98-4b94-41e1-bff0-0065b6058201" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:19:27Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898121&patient%3Aidentifier=9736898644\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"resource\": {\n \"id\": \"553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:15:26Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Include performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898121&patient:identifier=9736898644&_include=Consent:performer", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898121" + }, + { + "key": "patient:identifier", + "value": "9736898644" + }, + { + "key": "_include", + "value": "Consent:performer" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:19:44 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "2818" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "12da5c87-c8eb-4085-ad09-ab9df3923150" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4slFJ5rPEF6Mg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316e50-a15563e078d9633ab0d45fb6" + }, + { + "key": "X-Request-ID", + "value": "51afba5e-eea1-415e-a0c3-bc5d47e884fd" + }, + { + "key": "X-Correlation-ID", + "value": "c31bc807-8bc9-4aa5-b531-f44fbfeeef0c" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:19:44Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898121&patient%3Aidentifier=9736898644&_include=Consent%3Aperformer\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"resource\": {\n \"id\": \"553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:15:26Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/EAONj\",\n \"resource\": {\n \"id\": \"EAONj\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Include patient details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898121&patient:identifier=9736898644&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898121" + }, + { + "key": "patient:identifier", + "value": "9736898644" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:19:57 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "3636" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "341e64dd-974f-4307-a16b-e775c0777fdd" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4uhGhjLPEF8-A=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316e5c-16469b05761a5ee0d5ffe220" + }, + { + "key": "X-Request-ID", + "value": "2762b971-bfcc-42c6-be87-b2d2a98cf5b5" + }, + { + "key": "X-Correlation-ID", + "value": "94e42484-2c4d-46fc-8364-027c06a21798" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:19:56Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898121&patient%3Aidentifier=9736898644&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"resource\": {\n \"id\": \"553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:15:26Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898644\",\n \"resource\": {\n \"id\": \"9736898644\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"29706100\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"gDmhc\",\n \"line\": [\n \"BRAMBLE COTTAGE\",\n \"OLD VICARAGE PARK\",\n \"SCAWBY\",\n \"BRIGG\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2021-09-10\"\n },\n \"postalCode\": \"DN20 9RL\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2015-09-26\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"gDHTb\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2018-08-22\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Include patient and performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898121&patient:identifier=9736898644&_include=Consent:performer&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898121" + }, + { + "key": "patient:identifier", + "value": "9736898644" + }, + { + "key": "_include", + "value": "Consent:performer" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:20:24 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "4552" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "306d5243-752e-45e4-9c44-f175a008c1de" + }, + { + "key": "x-amz-apigw-id", + "value": "VD4y2Gg1rPEFcxQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316e78-df1338116d16a7272e1de2dc" + }, + { + "key": "X-Request-ID", + "value": "b05f7a59-c008-47d8-868c-011cbdf17500" + }, + { + "key": "X-Correlation-ID", + "value": "95f4ebb0-274e-4757-91f3-91a5fc0a3f0f" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:20:24Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898121&patient%3Aidentifier=9736898644&_include=Consent%3Aperformer&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"resource\": {\n \"id\": \"553ee1cd-1acd-48bb-a918-4a6434ab39b2\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:15:26Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898121\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-11-23\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898644\",\n \"resource\": {\n \"id\": \"9736898644\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"29706100\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"gDmhc\",\n \"line\": [\n \"BRAMBLE COTTAGE\",\n \"OLD VICARAGE PARK\",\n \"SCAWBY\",\n \"BRIGG\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2021-09-10\"\n },\n \"postalCode\": \"DN20 9RL\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2015-09-26\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"gDHTb\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2018-08-22\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/EAONj\",\n \"resource\": {\n \"id\": \"EAONj\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Filtered by status 'inactive'", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898156&patient:identifier=9736898652&status=inactive", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898156" + }, + { + "key": "patient:identifier", + "value": "9736898652" + }, + { + "key": "status", + "value": "inactive" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:21:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "1920" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "24bfc7a0-5f30-47b4-a751-7534837f5224" + }, + { + "key": "x-amz-apigw-id", + "value": "VD455ErXrPEFuaQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316ea5-6c272d90a7d3656142da3073" + }, + { + "key": "X-Request-ID", + "value": "67a71930-24b3-4baa-8b13-65f27c413a41" + }, + { + "key": "X-Correlation-ID", + "value": "dd934795-88bf-44a3-a2c3-eff757413bfb" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:21:09Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898156&patient%3Aidentifier=9736898652&status=inactive\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/750cb586-eb9b-46c7-a1a5-711307a087af\",\n \"resource\": {\n \"id\": \"750cb586-eb9b-46c7-a1a5-711307a087af\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T10:55:53Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898652\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2025-12-05\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"inactive\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy roles returned - Filtered by status 'active' and include patient and performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "some_token;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898156&patient:identifier=9736898652&status=active&_include=Consent:performer&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898156" + }, + { + "key": "patient:identifier", + "value": "9736898652" + }, + { + "key": "status", + "value": "active" + }, + { + "key": "_include", + "value": "Consent:performer" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:21:28 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "2038" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "f44b69f0-f814-4e0f-89eb-349f1f7e143d" + }, + { + "key": "x-amz-apigw-id", + "value": "VD48uEKHLPEF67A=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316eb7-00b15aebe653e94192bc60ee" + }, + { + "key": "X-Request-ID", + "value": "8f40b74e-99fa-4401-bcf1-def08a63da50" + }, + { + "key": "X-Correlation-ID", + "value": "1460d166-ba8d-4d1c-8822-83394abe1169" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:21:27Z\",\n \"total\": 0,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9736898156&patient%3Aidentifier=9736898652&status=active&_include=Consent%3Aperformer&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898652\",\n \"resource\": {\n \"id\": \"9736898652\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"6290975\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"RPnzd\",\n \"line\": [\n \"77 ANGERSTEIN ROAD\",\n \"SCUNTHORPE\",\n \"S HUMBERSIDE\"\n ],\n \"period\": {\n \"start\": \"2019-11-10\"\n },\n \"postalCode\": \"DN17 2NB\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2013-09-02\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"yIjPV\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2021-01-07\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898652\"\n }\n ],\n \"name\": [\n {\n \"family\": \"CLYDE\",\n \"given\": [\n \"Deanne\",\n \"Tara\"\n ],\n \"period\": {\n \"start\": \"2018-06-16\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + } + ] + }, + { + "name": "Valid request - NAM - Get proxy roles", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + }, + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "{{tpp_9674998535_access_token}};A82648", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=false;nam-cache-enabled=false;nam-enabled=true;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9674998535", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9674998535" + } + ] + }, + "description": "This request and its examples will only retrieve proxy roles directly from GPIT suppliers via NAM and not from the National Proxy Store.\n\nSee folder level docs for more info.\n\n## Example scenario\n\n**Given** proxy roles exist for a patient/performer in a GPIT system \n**And** no proxy roles exist in the National Proxy Store (NPS) for the patient/performer \n**When** a GET /Consent request is sent with the performer/patient identifier \n**Then** the proxy roles from GPIT are returned\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "No linked profiles returned from NAM - TPP user", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "{{tpp_9674998535_access_token}};A82648", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=false;nam-cache-enabled=false;nam-enabled=true;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9674998535&_include=Consent:performer&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9674998535" + }, + { + "key": "_include", + "value": "Consent:performer" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:22:00 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "5773" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "94465816-7aaa-4d03-81c9-e19156606316" + }, + { + "key": "x-amz-apigw-id", + "value": "VD5BAEGOLPEFVPA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316ed8-af72bfe69942b25c155a4daa" + }, + { + "key": "X-Request-ID", + "value": "ed28025a-9c27-468c-85fd-9b1b8f794198" + }, + { + "key": "X-Correlation-ID", + "value": "fbd025d4-c7e1-4085-8bf8-d11b84652f8d" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:22:00Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9674998535&_include=Consent%3Aperformer&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/3a86ad92\",\n \"resource\": {\n \"id\": \"3a86ad92\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:21:58.915488+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9692113736\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998535\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998535\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/5c0c47d9\",\n \"resource\": {\n \"id\": \"5c0c47d9\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:21:58.915640+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998454\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998535\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998535\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/0b36c4e0\",\n \"resource\": {\n \"id\": \"0b36c4e0\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998535\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"8af3500000000000\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9692113736\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/bd6da0a0\",\n \"resource\": {\n \"id\": \"bd6da0a0\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998535\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"8af3500000000000\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998454\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/e41dfa63\",\n \"resource\": {\n \"id\": \"e41dfa63\",\n \"meta\": {\n \"profile\": [\n \"https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient\"\n ],\n \"security\": [\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ]\n },\n \"birthDate\": \"1985-05-29\",\n \"generalPractitioner\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A82648\"\n }\n }\n ],\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9692113736\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"84df400000000000\"\n }\n ],\n \"name\": [\n {\n \"text\": \"Mr Kevin Barry\",\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/2d10a3d9\",\n \"resource\": {\n \"id\": \"2d10a3d9\",\n \"meta\": {\n \"profile\": [\n \"https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient\"\n ],\n \"security\": [\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ]\n },\n \"birthDate\": \"1921-10-17\",\n \"generalPractitioner\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A82648\"\n }\n }\n ],\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998454\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"d024500000000000\"\n }\n ],\n \"name\": [\n {\n \"text\": \"Mr Landon Fahey\",\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Linked profiles returned from NAM - TPP user", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "{{tpp_9674998454_access_token}};A82648", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=false;nam-cache-enabled=false;nam-enabled=true;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9674998454&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9674998454" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:22:15 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "4370" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "1b190446-e56f-4a64-8c54-25688af8f8f7" + }, + { + "key": "x-amz-apigw-id", + "value": "VD5EAFv1rPEF7zw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316ee6-9925773ab605850282f2d18c" + }, + { + "key": "X-Request-ID", + "value": "dfa182c6-8f6a-46e9-bdc1-1ef5a00740c1" + }, + { + "key": "X-Correlation-ID", + "value": "d50ce1da-c025-451c-847e-c405c299115f" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:22:15Z\",\n \"total\": 2,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9674998454&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/92a66114\",\n \"resource\": {\n \"id\": \"92a66114\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:22:15.290954+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998640\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998454\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998454\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/0b02be0a\",\n \"resource\": {\n \"id\": \"0b02be0a\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:22:15.290994+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998543\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998454\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998454\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/934bfd54\",\n \"resource\": {\n \"id\": \"934bfd54\",\n \"meta\": {\n \"profile\": [\n \"https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient\"\n ],\n \"security\": [\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ]\n },\n \"birthDate\": \"1998-11-14\",\n \"generalPractitioner\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A82648\"\n }\n }\n ],\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998640\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"e254500000000000\"\n }\n ],\n \"name\": [\n {\n \"text\": \"Mr Harry Hood\",\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/29b6ab39\",\n \"resource\": {\n \"id\": \"29b6ab39\",\n \"meta\": {\n \"profile\": [\n \"https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient\"\n ],\n \"security\": [\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ]\n },\n \"birthDate\": \"1930-11-02\",\n \"generalPractitioner\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A82648\"\n }\n }\n ],\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998543\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"52f3500000000000\"\n }\n ],\n \"name\": [\n {\n \"text\": \"Miss Lisa Hankey\",\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "No linked profiles returned from NAM - EMIS user", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "{{emis_9692113612_access_token}};A29928", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=false;nam-cache-enabled=false;nam-enabled=true;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9692113612&_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9692113612" + }, + { + "key": "_include", + "value": "Consent:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:22:37 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "283" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "15121c1a-99de-4830-86c7-00925d4faf3a" + }, + { + "key": "x-amz-apigw-id", + "value": "VD5HEE6MLPEFz5w=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316ef9-58a10d83bc130c381cdb0b44" + }, + { + "key": "X-Request-ID", + "value": "1828501c-86dc-4baf-9a13-e37a822e327f" + }, + { + "key": "X-Correlation-ID", + "value": "b891fe97-7778-4db5-be39-b23c03879d2d" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:22:36Z\",\n \"total\": 0,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9692113612&_include=Consent%3Apatient\"\n }\n ],\n \"entry\": []\n}" + }, + { + "name": "Linked profiles returned from NAM - EMIS user", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "{{emis_9692113698_access_token}};A00002", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=false;nam-cache-enabled=false;nam-enabled=true;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9692113698&_include=Consent:performer", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9692113698" + }, + { + "key": "_include", + "value": "Consent:patient", + "disabled": true + }, + { + "key": "_include", + "value": "Consent:performer" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:24:08 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "17617" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "739313dc-9917-4df2-9b9d-e59bf36d8c4e" + }, + { + "key": "x-amz-apigw-id", + "value": "VD5U-FHkLPEF0fw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69316f52-1205235fe7d41983ba807831" + }, + { + "key": "X-Request-ID", + "value": "2eb98c87-f421-4902-a885-ecc408bd8d89" + }, + { + "key": "X-Correlation-ID", + "value": "4ac19b94-25d4-4de6-9be6-fe5a4a520d15" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:24:08Z\",\n \"total\": 9,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer%3Aidentifier=9692113698&_include=Consent%3Aperformer\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/2993b769\",\n \"resource\": {\n \"id\": \"2993b769\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:24:07.874676+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9661034451\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/c0d48822\",\n \"resource\": {\n \"id\": \"c0d48822\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:24:07.874715+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998403\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/75d0c9dc\",\n \"resource\": {\n \"id\": \"75d0c9dc\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:24:07.874739+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9661034400\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/2bed6c1e\",\n \"resource\": {\n \"id\": \"2bed6c1e\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:24:07.874762+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9661034168\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/ed77c791\",\n \"resource\": {\n \"id\": \"ed77c791\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:24:07.874785+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9253046414\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/02e9fe06\",\n \"resource\": {\n \"id\": \"02e9fe06\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:24:07.874807+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9930725970\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/70f274ba\",\n \"resource\": {\n \"id\": \"70f274ba\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:24:07.874830+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9803007025\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/87501704\",\n \"resource\": {\n \"id\": \"87501704\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:24:07.874852+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9734615173\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/022a7290\",\n \"resource\": {\n \"id\": \"022a7290\",\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:24:07.874874+00:00\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9694154065\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n \"type\": \"RelatedPerson\"\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"unknown\",\n \"display\": \"Unknown\",\n \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"\n }\n ]\n }\n }\n ]\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/4931d7ae\",\n \"resource\": {\n \"id\": \"4931d7ae\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"a6f2b11f-0f96-4487-83b0-bca6c9aae2bd\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9661034451\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/34e6ba88\",\n \"resource\": {\n \"id\": \"34e6ba88\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"a6f2b11f-0f96-4487-83b0-bca6c9aae2bd\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9674998403\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/1b0f7204\",\n \"resource\": {\n \"id\": \"1b0f7204\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"a6f2b11f-0f96-4487-83b0-bca6c9aae2bd\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9661034400\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/7115d670\",\n \"resource\": {\n \"id\": \"7115d670\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"a6f2b11f-0f96-4487-83b0-bca6c9aae2bd\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9661034168\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/63bd0423\",\n \"resource\": {\n \"id\": \"63bd0423\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"a6f2b11f-0f96-4487-83b0-bca6c9aae2bd\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9253046414\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/04683858\",\n \"resource\": {\n \"id\": \"04683858\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"a6f2b11f-0f96-4487-83b0-bca6c9aae2bd\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9930725970\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/e0cff956\",\n \"resource\": {\n \"id\": \"e0cff956\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"a6f2b11f-0f96-4487-83b0-bca6c9aae2bd\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9803007025\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/a9f54c1c\",\n \"resource\": {\n \"id\": \"a9f54c1c\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"a6f2b11f-0f96-4487-83b0-bca6c9aae2bd\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9734615173\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/8b794ba5\",\n \"resource\": {\n \"id\": \"8b794ba5\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"5785592290\"\n },\n {\n \"system\": \"https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier\",\n \"value\": \"a6f2b11f-0f96-4487-83b0-bca6c9aae2bd\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9694154065\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AdditionalPersonRelationshipRole\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + } + ] + }, + { + "name": "Valid request - No proxy roles returned - Get proxy roles", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898199", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898199" + } + ] + }, + "description": "## Example scenario\n\n**Given** no proxy roles exist for a patient/performer in NPS or GPIT systems \n**When** a GET /Consent request is sent with the performer/patient identifier \n**Then** no proxy roles are returned\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "No roles returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898199", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898199" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 15:20:11 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "254" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "62f7a9ef-477a-4a24-8bba-c3da1f684805" + }, + { + "key": "x-amz-apigw-id", + "value": "UtXWqH7MLPEFkaw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69286c2a-60c4f8c5c094e6753e2352ce" + }, + { + "key": "X-Request-ID", + "value": "31683198-4901-4516-8522-baf7a3de343a" + }, + { + "key": "X-Correlation-ID", + "value": "bdc29a81-c2c3-4622-b1cb-6b0d939ef622" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-11-27T15:20:11Z\",\n \"total\": 0,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?patient%3Aidentifier=9736898199\"\n }\n ],\n \"entry\": []\n}" + } + ] + }, + { + "name": "Invalid status parameter - Get proxy roles", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898199&status=test", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898199" + }, + { + "key": "status", + "value": "test" + } + ] + }, + "description": "## Example scenario\n\n**Given** proxy roles exist for a patient/performer in NPS or a GPIT system \n**When** a GET /Consent request is sent with an invalid status parameter \n**Then** a 422 error is returned with the detail 'Required parameter(s) are invalid.'\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "Invalid status parameter error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?patient:identifier=9736898199&status=test", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "patient:identifier", + "value": "9736898199" + }, + { + "key": "status", + "value": "test" + } + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:45:57 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "375" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "072d3fa4-9703-4b80-88ba-e679c01b3129" + }, + { + "key": "x-amz-apigw-id", + "value": "Utj6vHGjLPEFvyQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69288044-9a8fa9560202aeb1b9390e51" + }, + { + "key": "X-Request-ID", + "value": "0437a831-fa18-43ca-a376-21b2a8f33900" + }, + { + "key": "X-Correlation-ID", + "value": "8cf2b8d1-d98e-4b93-bb62-34583b31f0ea" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_PARAMETER\",\n \"display\": \"Required parameter(s) are invalid.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Invalid request with error - status parameter is invalid.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid include parameter - Get proxy roles", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898148&_include=Consent:test", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898148" + }, + { + "key": "_include", + "value": "Consent:test" + } + ] + }, + "description": "## Gherkin scenario\n\n**Given** proxy roles exist for a patient/performer in NPS or a GPIT system \n**When** a GET /Consent request is sent with an invalid include parameter \n**Then** a 422 error is returned with the detail 'Required parameter(s) are invalid.'\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "Invalid include parameter error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898148&_include=Consent:test", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898148" + }, + { + "key": "_include", + "value": "Consent:test" + } + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:46:36 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "377" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "e9f62008-61ec-417a-8231-506b51d07844" + }, + { + "key": "x-amz-apigw-id", + "value": "UtkBAFkIrPEFuvQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6928806c-3f5337b27e75f90c703fd6b0" + }, + { + "key": "X-Request-ID", + "value": "fb15a103-bf9a-499e-a7b1-24dc6563eb13" + }, + { + "key": "X-Correlation-ID", + "value": "f5ec5ae0-c762-4efb-95e3-317628c5cd80" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_PARAMETER\",\n \"display\": \"Required parameter(s) are invalid.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Invalid request with error - _include parameter is invalid.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid performer identifier - Get proxy roles", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=90000000", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "90000000" + } + ] + }, + "description": "## Example scenario\n\n**Given** proxy roles exist for a patient/performer in NPS or a GPIT system \n**When** a GET /Consent request is sent with an invalid performer identifier \n**Then** a 422 error is returned with the detail 'Required parameter(s) are invalid.'\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "Invalid performer identifier returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=90000000", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "90000000" + } + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:47:01 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "428" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "2c57ff69-fe19-498b-8163-00b392e47313" + }, + { + "key": "x-amz-apigw-id", + "value": "UtkE-EaXLPEFV9Q=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69288085-dfbdd45a57543fb9bb4ebd8b" + }, + { + "key": "X-Request-ID", + "value": "2d274752-140d-49de-ab31-56012d28c2cb" + }, + { + "key": "X-Correlation-ID", + "value": "7187bca7-8d57-4561-b0f2-a5aba91ec94c" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_IDENTIFIER_VALUE\",\n \"display\": \"Required parameter(s) are invalid.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Invalid request with error - performer:identifier or patient:identifier parameter is invalid.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid performer identifier system - Get proxy roles", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=invalid|9736898199", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "invalid|9736898199" + } + ] + }, + "description": "## Example scenario\n\n**Given** proxy roles exist for a patient/performer in NPS or a GPIT system \n**When** a GET /Consent request is sent with an invalid performer identifier system \n**Then** a 422 error is returned with the detail 'Required parameter(s) are invalid.'\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "Invalid performer identifier system error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=invalid|9736898199", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "invalid|9736898199" + } + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:47:46 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "426" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "8a8529b6-34ac-46b1-8868-0a6ec0440151" + }, + { + "key": "x-amz-apigw-id", + "value": "UtkL-HDVLPEFVxg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692880b2-6286da8b511f08a6d7ccf9db" + }, + { + "key": "X-Request-ID", + "value": "9cc2d0ef-8f7a-46b7-89c9-c884bf61cc3a" + }, + { + "key": "X-Correlation-ID", + "value": "57948f02-5db0-4267-a6b7-cae30485e5eb" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_IDENTIFIER_SYSTEM\",\n \"display\": \"Required parameter(s) are invalid.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Invalid request with error - performer:identifier or patient:identifier system parameter is invalid.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Missing performer identifier value - Get proxy roles", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + }, + "description": "## Example scenario\n\n**Given** proxy roles exist for a patient/performer in NPS or a GPIT system \n**When** a GET /Consent request is sent with an missing performer identifier value \n**Then** a 400 error is returned with the detail 'Required parameter(s) are missing.'\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "Missing performer identifier value error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=true;nam-cache-enabled=false;nam-enabled=false;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:48:15 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "417" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "4984ba67-d994-4f08-910e-e25024a8ba57" + }, + { + "key": "x-amz-apigw-id", + "value": "UtkQdERvrPEFrBg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692880cf-614067cb88aa075eca482015" + }, + { + "key": "X-Request-ID", + "value": "f536a55f-7115-4ab4-a1c9-3049ca919351" + }, + { + "key": "X-Correlation-ID", + "value": "636e5f80-53b3-4bcf-9176-2967325a9e85" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"MISSING_IDENTIFIER_VALUE\",\n \"display\": \"Required parameter(s) are missing.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Invalid request with error - performer:identifier or patient:identifier parameter not found.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "GP practice not found - Get proxy roles", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=false;nam-cache-enabled=false;nam-enabled=true;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898229", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898229" + } + ] + }, + "description": "## Example scenario\n\n**Given** a performer/patient is not registered at a GP \n**And** the performer/patient has no proxy roles in the National Proxy Store \n**When** a GET /Consent request is sent for the performer/patient \n**Then** a 404 error is returned with the detail 'GP Practice could not be found - invalid resources cannot be retrieved'\n\n## Authorization\n\nPlease see the folder overview for details of how to generate tokens for this endpoint." + }, + "response": [ + { + "name": "GP practice not found error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-IM1-Connection-Params", + "value": "SomeToken;A20047", + "type": "text" + }, + { + "key": "X-Test-Routing-Flag", + "value": "nps-enabled=false;nam-cache-enabled=false;nam-enabled=true;use-nam-mock=false", + "description": "For pre-prod only - Used to control where data is gathered from to fulfill the request ", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9736898229", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9736898229" + } + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:48:38 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "391" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "e0bae044-bde7-4def-a600-199f72ea2e50" + }, + { + "key": "x-amz-apigw-id", + "value": "UtkTcEIOLPEF5aQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692880e2-7d058bc8fc71f9ee272f339d" + }, + { + "key": "X-Request-ID", + "value": "c1f8bed5-6729-4b9f-b20c-180b069809ed" + }, + { + "key": "X-Correlation-ID", + "value": "3132cc74-64ef-465d-aac9-502f27c6ac1d" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"processing\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"GP_PRACTICE_NOT_FOUND\",\n \"display\": \"GP Practice could not be found - invalid resources cannot be retrieved\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"GP Practice could not be found\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + } + ], + "description": "## Authorization\n\n### Allowed auth methods\n\n- App restricted token\n \n- NHS Login token - Auth with test user `9730675929`\n \n- CIS2 token - Auth with test user `656005750108`\n \n\nSee collection level documentation for info about how to get authorization tokens.\n\n## NPS and NAM routing\n\nYou will notice that there are 'Valid request - NPS' and 'Valid request - NAM' requests and examples within this folder. These are set up to retrieve the proxy roles from different data sources:\n\n- **Valid request - NPS**: Retrieves the roles from the National Proxy Store (NPS) only. Following the eventual migration of all proxy and related person data from GPIT to NPS, this will become the only route for all requests.\n \n- **Valid request - NAM:** Retrives the roles as related person data from the GPIT suppliers via NAM without checking if any exist in NPS first. This requires specific connection parameters to authorise with the GPIT supplier systems\n \n\nThis routing is controlled in the requests by the `X-Test-Routing-Flag` header. This header is used in the VRS pre-prod environments to control where the proxy roles are retrieved from. It is intended to be used for testing purposes only. Omission of this header will cause the default routing settings for the given environment to be followed instead. This is typically for roles to be retrieved from NPS, with NAM used as a fallback if none are found.", + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{consent_app_auth_header_value}}", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "var uuid = require('uuid');", + "", + "var privateKey = pm.environment.get('vrs_api_private_key') || '';", + "var api_key_value = pm.environment.get('nhs_developer_account_api_key') || '';", + "", + "if (!privateKey) {", + " throw new Error(\"Variable vrs_api_private_key must be set with your private key for signed JWT authentication.\");", + "}", + "", + "// Replace any '/n' new lines with actual new lines", + "privateKey = privateKey.replace(/\\\\n/g, '\\n');", + "", + "if (!api_key_value) {", + " throw new Error(\"Variable nhs_developer_account_app_key must be set with your integration testing application API key.\");", + "}", + "", + "var auth_url = 'https://int.api.service.nhs.uk/oauth2-mock/token';", + "var navigator = {};", + "var window = {};", + "const interval = setTimeout(() => {}, 2147483647);", + "", + "return new Promise((resolve, reject) => { ", + " if (pm.globals.has('jsrsasign-js') && pm.globals.get('jsrsasign-js') !== \"\") {", + " return resolve();", + " }", + "", + " pm.sendRequest(", + " {", + " url: 'https://kjur.github.io/jsrsasign/jsrsasign-all-min.js',", + " method: 'GET'", + " }, function (err, res) {", + " if (err) {", + " return reject(err);", + " }", + "", + " pm.globals.set('jsrsasign-js', res.text()); ", + " return resolve();", + " }", + " );", + "}).then(() => { ", + " eval(pm.globals.get(\"jsrsasign-js\")); ", + "", + " // Set headers for JWT", + " var header = {", + " 'typ': 'JWT',", + " 'alg': 'RS512',", + " 'kid': 'VRS-dev-12-nov-2025'", + " };", + "", + " // Prepare timestamp in seconds", + " var currentTimestamp = Math.floor(Date.now() / 1000)", + " var uuid = require('uuid');", + " var jti_value = uuid.v4();", + " var data = {", + " 'sub': api_key_value,", + " 'iss': api_key_value,", + " 'jti': jti_value,", + " 'aud': auth_url,", + " 'exp': currentTimestamp + 180, // expiry time is 180 seconds from time of creation", + " } ", + "", + " var sJWT = KJUR.jws.JWS.sign(header.alg, JSON.stringify(header), JSON.stringify(data), privateKey); ", + " return new Promise((resolve, reject) => { ", + " pm.sendRequest({", + " url: auth_url,", + " method: \"POST\",", + " header: {", + " \"Content-Type\": \"application/x-www-form-urlencoded\"", + " },", + " body: {", + " mode: \"urlencoded\",", + " urlencoded: [", + " {", + " key: \"grant_type\",", + " value: \"client_credentials\"", + " },", + " {", + " key: \"client_assertion_type\",", + " value: \"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\",", + " },", + " {", + " key: \"client_assertion\",", + " value: sJWT", + " }", + " ]", + " }", + " }, function (err, res) { ", + " if (err) {", + " return reject(err);", + " }", + "", + " //assign the authorization header value", + " pm.environment.set('consent_app_auth_header_value', `${res.json().access_token}`);", + "", + " return resolve();", + " }); ", + " });", + "}).then(() => { ", + " clearTimeout(interval);", + "}).catch((err) => { ", + " console.error(err); ", + " clearTimeout(interval); ", + "});" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + } + ] + }, + { + "name": "Get proxy role (GET /Consent/{id})", + "item": [ + { + "name": "Valid request - Get proxy role", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists between a performer and a patient in the National Proxy Store \n**When** a GET /Consent/{id} request is sent with the consent id of the proxy role \n**Then** the proxy role is returned" + }, + "response": [ + { + "name": "Proxy role returned - No patient or performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:28:18 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "1873" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "23636f8d-f5ef-4050-8c67-51e393b47c87" + }, + { + "key": "x-amz-apigw-id", + "value": "VD581F_4LPEFyDg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69317051-6384bdf9e3106d26096daa32" + }, + { + "key": "X-Request-ID", + "value": "784fb8d0-37ff-4716-bf77-81a395fd20f8" + }, + { + "key": "X-Correlation-ID", + "value": "ec404ce9-1721-4158-91af-2064ad3e7ea4" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:28:18Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"resource\": {\n \"id\": \"4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:08:46Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-12-05\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy role returned - Include performer details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id?_include=Consent:performer", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "query": [ + { + "key": "_include", + "value": "Consent:performer" + } + ], + "variable": [ + { + "key": "consent_id", + "value": "4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:28:48 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "2789" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "a1f034c1-6ee8-499e-aa60-eea157ad4bd9" + }, + { + "key": "x-amz-apigw-id", + "value": "VD6AYFQMrPEFgjw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69317068-3a18b175fb02b76c68acfce1" + }, + { + "key": "X-Request-ID", + "value": "e8a5dada-5577-4738-abd5-7a09251e8c3b" + }, + { + "key": "X-Correlation-ID", + "value": "5eeb9d78-133f-4132-b121-649162a6bc14" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:28:47Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40?_include=Consent%3Aperformer\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"resource\": {\n \"id\": \"4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:08:46Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-12-05\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/nVLgl\",\n \"resource\": {\n \"id\": \"nVLgl\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy role returned - Include patient details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id?_include=Consent:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "query": [ + { + "key": "_include", + "value": "Consent:patient" + } + ], + "variable": [ + { + "key": "consent_id", + "value": "4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:29:08 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "3601" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "b6cb5439-d1a8-4f95-bd3e-9dca7bed9e88" + }, + { + "key": "x-amz-apigw-id", + "value": "VD6ErHoPLPEF1rg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69317083-b57a368a7776107b8b3e5f7a" + }, + { + "key": "X-Request-ID", + "value": "22ca0610-1b6e-4e3a-aa1a-ede697da4a1d" + }, + { + "key": "X-Correlation-ID", + "value": "71035b63-936a-4ce4-b036-3d592c764d88" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:29:08Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40?_include=Consent%3Apatient\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"resource\": {\n \"id\": \"4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:08:46Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-12-05\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898660\",\n \"resource\": {\n \"id\": \"9736898660\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"19976537\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"pBQDr\",\n \"line\": [\n \"CARLTON\",\n \"VICARAGE LANE\",\n \"REDBOURNE\",\n \"GAINSBOROUGH\",\n \"LINCS\"\n ],\n \"period\": {\n \"start\": \"2025-07-15\"\n },\n \"postalCode\": \"DN21 4QW\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2012-04-24\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"xSEnH\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2024-11-06\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n ],\n \"name\": [\n {\n \"family\": \"GODREY\",\n \"given\": [\n \"Davina\",\n \"Linda\"\n ],\n \"period\": {\n \"start\": \"2017-04-22\"\n },\n \"prefix\": [\n \"MISS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + }, + { + "name": "Proxy role returned - Include performer and patient details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id?_include=Consent:patient&_include=Consent:performer", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "query": [ + { + "key": "_include", + "value": "Consent:patient" + }, + { + "key": "_include", + "value": "Consent:performer" + } + ], + "variable": [ + { + "key": "consent_id", + "value": "4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 11:29:26 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "4517" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "9db19dac-df92-4494-8f31-076621ab3d1a" + }, + { + "key": "x-amz-apigw-id", + "value": "VD6HkGFkrPEFxmw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69317096-6ad930e767f145f7dd07b977" + }, + { + "key": "X-Request-ID", + "value": "5fd5c3dc-1f5c-4ac5-a9b4-018fdd7f1a0b" + }, + { + "key": "X-Correlation-ID", + "value": "fd7368b4-0828-40b0-97fa-6d19fb51a9e0" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"Bundle\",\n \"type\": \"searchset\",\n \"timestamp\": \"2025-12-04T11:29:26Z\",\n \"total\": 1,\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40?_include=Consent%3Apatient&_include=Consent%3Aperformer\"\n }\n ],\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"resource\": {\n \"id\": \"4ee397cb-f4b8-4b8e-adfc-8d63a2b68b40\",\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\"\n }\n ]\n }\n }\n ],\n \"category\": [\n {\n \"coding\": [\n {\n \"code\": \"INFA\",\n \"display\": \"Information Access\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"dateTime\": \"2025-12-04T11:08:46Z\",\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n },\n \"performer\": [\n {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n }\n ],\n \"policy\": [\n {\n \"authority\": \"https://www.england.nhs.uk\",\n \"uri\": \"\"\n }\n ],\n \"provision\": {\n \"actor\": [\n {\n \"reference\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898156\"\n }\n },\n \"role\": {\n \"coding\": [\n {\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\"\n }\n ]\n }\n }\n ],\n \"period\": {\n \"end\": \"2030-12-05\",\n \"start\": \"2025-12-02\"\n }\n },\n \"scope\": {\n \"coding\": [\n {\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\",\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"status\": \"active\",\n \"resourceType\": \"Consent\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898660\",\n \"resource\": {\n \"id\": \"9736898660\",\n \"meta\": {\n \"security\": [\n {\n \"code\": \"U\",\n \"display\": \"unrestricted\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-Confidentiality\"\n },\n {\n \"code\": \"P9\",\n \"display\": \"High level verification (P9)\",\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel\"\n }\n ],\n \"versionId\": \"4\"\n },\n \"address\": [\n {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"type\",\n \"valueCoding\": {\n \"code\": \"PAF\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-AddressKeyType\"\n }\n },\n {\n \"url\": \"value\",\n \"valueString\": \"19976537\"\n }\n ],\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey\"\n }\n ],\n \"id\": \"pBQDr\",\n \"line\": [\n \"CARLTON\",\n \"VICARAGE LANE\",\n \"REDBOURNE\",\n \"GAINSBOROUGH\",\n \"LINCS\"\n ],\n \"period\": {\n \"start\": \"2025-07-15\"\n },\n \"postalCode\": \"DN21 4QW\",\n \"use\": \"home\"\n }\n ],\n \"birthDate\": \"2012-04-24\",\n \"gender\": \"female\",\n \"generalPractitioner\": [\n {\n \"id\": \"xSEnH\",\n \"identifier\": {\n \"period\": {\n \"start\": \"2024-11-06\"\n },\n \"system\": \"https://fhir.nhs.uk/Id/ods-organization-code\",\n \"value\": \"A20047\"\n }\n }\n ],\n \"identifier\": [\n {\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"code\": \"01\",\n \"display\": \"Number present and verified\",\n \"system\": \"https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n }\n ],\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n ],\n \"name\": [\n {\n \"family\": \"GODREY\",\n \"given\": [\n \"Davina\",\n \"Linda\"\n ],\n \"period\": {\n \"start\": \"2017-04-22\"\n },\n \"prefix\": [\n \"MISS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/nVLgl\",\n \"resource\": {\n \"id\": \"nVLgl\",\n \"extension\": [\n {\n \"url\": \"https://fhir.nhs.uk/R4/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator\",\n \"valueBoolean\": true\n }\n ],\n \"active\": true,\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898660\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"CHILD\",\n \"display\": \"child\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"Personal\",\n \"display\": \"Personal relationship with the patient\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/UKCore-AdditionalRelatedPersonRole\"\n }\n ]\n },\n {\n \"coding\": [\n {\n \"code\": \"N\",\n \"display\": \"Next-of-Kin\",\n \"system\": \"http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n }\n ]\n}" + } + ] + }, + { + "name": "Invalid consent id - Get proxy role", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "invalid" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists between a performer and a patient in the National Proxy Store \n**When** a GET /Consent/{id} request is sent where the ID is invalid \n**Then** a 400 error is returned with details including 'Required parameter(s) are invalid.'" + }, + "response": [ + { + "name": "Invalid consent id error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "invalid" + } + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:49:51 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "370" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "8bae29b7-2cf9-4f6f-b054-0ff6133092b7" + }, + { + "key": "x-amz-apigw-id", + "value": "UtkfVE6VLPEFmDg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6928812e-f15d362bb65b30e32885ea32" + }, + { + "key": "X-Request-ID", + "value": "51f1c948-51e0-4719-8307-fd1f987809a1" + }, + { + "key": "X-Correlation-ID", + "value": "cf91adbc-f994-4a56-9d6b-2b324c0af196" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"diagnostics\": \"Invalid request with error - ID must be a valid UUID.\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_ID_VALUE\",\n \"display\": \"Required parameter(s) are invalid.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid include parameter - Get proxy role", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id?_include=Consent:invalid", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "query": [ + { + "key": "_include", + "value": "Consent:invalid" + } + ], + "variable": [ + { + "key": "consent_id", + "value": "77363c92-8c33-490f-b5c9-9ef81c2cf16f" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists between a performer and a patient in the National Proxy Store \n**When** a GET /Consent/{id} request is sent with an invalid include parameter \n**Then** a 422 error is returned with details including 'Required parameter(s) are invalid.'" + }, + "response": [ + { + "name": "Invalid include parameter error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id?_include=Consent:invalid", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "query": [ + { + "key": "_include", + "value": "Consent:invalid" + } + ], + "variable": [ + { + "key": "consent_id", + "value": "77363c92-8c33-490f-b5c9-9ef81c2cf16f" + } + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:50:07 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "377" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "6da48428-7512-4d8b-9856-b2cc37713381" + }, + { + "key": "x-amz-apigw-id", + "value": "Utkh9GPDLPEF3pw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6928813f-6ca71472e425ed45ed5bd0a5" + }, + { + "key": "X-Request-ID", + "value": "2dbb0b8c-a6c8-4bf2-9005-ec19ff68f5b2" + }, + { + "key": "X-Correlation-ID", + "value": "ec9a3692-5922-491d-8df1-da17fe8e473b" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_PARAMETER\",\n \"display\": \"Required parameter(s) are invalid.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Invalid request with error - _include parameter is invalid.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Proxy role not found - Get proxy role", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "4cfccac1-673c-4fea-9b73-54b1a605c9a0" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role does not exist between a performer and a patient in the National Proxy Store \n**When** a GET /Consent/{id} request is sent \n**Then** a 404 error is returned with details including 'Resource that has been marked as invalid was requested - invalid resources cannot be retrieved'" + }, + "response": [ + { + "name": "Proxy role not found error response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "4cfccac1-673c-4fea-9b73-54b1a605c9a0" + } + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:50:22 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "478" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "ece32b72-4d4a-43c9-b42a-e47b729e04da" + }, + { + "key": "x-amz-apigw-id", + "value": "UtkkIHJprPEFiYw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6928814d-5023dcb7c8009889ccde4f3d" + }, + { + "key": "X-Request-ID", + "value": "3ec49ee6-c56c-4df9-aa7a-f54bb6b3e795" + }, + { + "key": "X-Correlation-ID", + "value": "74eb5dd5-2d74-4b3a-a482-5480e1ad6464" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"processing\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\",\n \"code\": \"INVALIDATED_RESOURCE\",\n \"display\": \"Resource that has been marked as invalid was requested - invalid resources cannot be retrieved\"\n }\n ]\n },\n \"diagnostics\": \"Resource that has been marked as invalid was requested - invalid resources cannot be retrieved\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Missing consent id value - Get proxy role", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + "" + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists between a performer and a patient in the National Proxy Store \n**When** a GET /Consent/{id} request is sent with the ID value missing \n**Then** a 400 error is returned with details including 'Required parameter(s) are missing.'" + }, + "response": [ + { + "name": "Missing consent id value error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/Consent/", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + "" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Thu, 27 Nov 2025 16:51:00 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "417" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "c4a3d99b-0ea1-40de-82bf-5cd2fa60afd6" + }, + { + "key": "x-amz-apigw-id", + "value": "UtkqLGF_rPEFcMw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69288173-c5d997b9110a61bf7b655fe7" + }, + { + "key": "X-Request-ID", + "value": "de0e2e5b-1f1b-4448-a7ee-42d0236b88a6" + }, + { + "key": "X-Correlation-ID", + "value": "6f458de2-64c6-4764-9044-34a5617d3d43" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"MISSING_IDENTIFIER_VALUE\",\n \"display\": \"Required parameter(s) are missing.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Invalid request with error - performer:identifier or patient:identifier parameter not found.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + } + ], + "description": "## Allowed auth methods\n\n- NHS Login token - Auth with test user `9730675929`\n \n- CIS2 token - Auth with test user `656005750108`\n \n\nSee collection level documentation for info about how to get authorization tokens.", + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + } + ] + }, + { + "name": "Create a new access request (POST /QuestionnaireResponse)", + "item": [ + { + "name": "Valid request - Proxy applicant - New adult to adult access request", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Use-National-Proxy-Store", + "value": "False", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"QuestionnaireResponse\",\n \"status\": \"completed\",\n \"authored\": \"{{$isoTimestamp}}\",\n \"source\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675929\"\n }\n },\n \"subject\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898202\"\n }\n },\n \"questionnaire\": \"Questionnaire/{{$randomUUID}}\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson\",\n \"text\": \"relatedPerson\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9730675929\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name\",\n \"text\": \"relatedPerson_name\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Betty\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"MORLEY\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2005-01-20\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_basisForAccess\",\n \"text\": \"Basis For Access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_relationship\",\n \"text\": \"Relationship\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient\",\n \"text\": \"patient\",\n \"item\": [\n {\n \"linkId\": \"patient_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9736898202\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name\",\n \"text\": \"patient_name\",\n \"item\": [\n {\n \"linkId\": \"patient_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"URIEL\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"ROTH\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"1988-11-10\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess\",\n \"text\": \"requestedAccess\",\n \"item\": [\n {\n \"linkId\": \"requestedAccess_accessLevel\",\n \"text\": \"Requested access level\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"APPT\",\n \"display\": \"Appointment Booking\"\n }\n },\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"VACC\",\n \"display\": \"Vaccination Records\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccess\",\n \"text\": \"Reason for access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-ReasonForAccess\",\n \"code\": \"COMB\",\n \"display\": \"Communication Barriers\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccessMoreinfo\",\n \"text\": \"Reason for access - further information\",\n \"answer\": [\n {\n \"valueString\": \"No internet connection\"\n }\n ]\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse" + ] + }, + "description": "## Example scenario\n\n**Given** no proxy role exists between two adults \n**When** a valid access request is sent with the proxy as the applicant \n**Then** a 201 response is returned" + }, + "response": [ + { + "name": "A2A proxy applicant access request created", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Use-National-Proxy-Store", + "value": "False", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"QuestionnaireResponse\",\n \"status\": \"completed\",\n \"authored\": \"{{$isoTimestamp}}\",\n \"source\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675929\"\n }\n },\n \"subject\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898202\"\n }\n },\n \"questionnaire\": \"Questionnaire/{{$randomUUID}}\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson\",\n \"text\": \"relatedPerson\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9730675929\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name\",\n \"text\": \"relatedPerson_name\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Betty\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"MORLEY\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2005-01-20\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_basisForAccess\",\n \"text\": \"Basis For Access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_relationship\",\n \"text\": \"Relationship\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient\",\n \"text\": \"patient\",\n \"item\": [\n {\n \"linkId\": \"patient_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9736898202\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name\",\n \"text\": \"patient_name\",\n \"item\": [\n {\n \"linkId\": \"patient_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"URIEL\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"ROTH\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"1988-11-10\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess\",\n \"text\": \"requestedAccess\",\n \"item\": [\n {\n \"linkId\": \"requestedAccess_accessLevel\",\n \"text\": \"Requested access level\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"APPT\",\n \"display\": \"Appointment Booking\"\n }\n },\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"VACC\",\n \"display\": \"Vaccination Records\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccess\",\n \"text\": \"Reason for access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-ReasonForAccess\",\n \"code\": \"COMB\",\n \"display\": \"Communication Barriers\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccessMoreinfo\",\n \"text\": \"Reason for access - further information\",\n \"answer\": [\n {\n \"valueString\": \"No internet connection\"\n }\n ]\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Mon, 01 Dec 2025 16:09:01 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "186" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "720499ae-68fe-495a-8485-862105f276a9" + }, + { + "key": "x-amz-apigw-id", + "value": "U6qQkGxVrPEFeoA=" + }, + { + "key": "location", + "value": "https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/QuestionnaireResponse/e185e5e3-901e-4b6a-bfe2-f9adb0b311a4" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692dbd9c-999e6478f9613be345a68c77" + }, + { + "key": "X-Request-ID", + "value": "687bfc1b-b7a7-4681-a7bf-01ac6e7dd97a" + }, + { + "key": "X-Correlation-ID", + "value": "6adda3bb-aacf-4e4f-a459-a2a0fe6d34be" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"information\",\n \"code\": \"informational\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"19C01XB6WC\",\n \"display\": \"19C01XB6WC\"\n }\n ]\n }\n }\n ]\n}" + } + ] + }, + { + "name": "Valid request - Patient applicant - New adult to adult access request", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Use-National-Proxy-Store", + "value": "False", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"QuestionnaireResponse\",\n \"status\": \"completed\",\n \"authored\": \"{{$isoTimestamp}}\",\n \"source\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675929\"\n }\n },\n \"subject\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675929\"\n }\n },\n \"questionnaire\": \"Questionnaire/{{$randomUUID}}\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson\",\n \"text\": \"relatedPerson\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9736898164\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name\",\n \"text\": \"relatedPerson_name\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Heidi\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"LAW\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"1997-09-15\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_basisForAccess\",\n \"text\": \"Basis For Access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_relationship\",\n \"text\": \"Relationship\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient\",\n \"text\": \"patient\",\n \"item\": [\n {\n \"linkId\": \"patient_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9730675929\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name\",\n \"text\": \"patient_name\",\n \"item\": [\n {\n \"linkId\": \"patient_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Betty\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"MORLEY\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2005-01-20\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess\",\n \"text\": \"requestedAccess\",\n \"item\": [\n {\n \"linkId\": \"requestedAccess_accessLevel\",\n \"text\": \"Requested access level\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"APPT\",\n \"display\": \"Appointment Booking\"\n }\n },\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"VACC\",\n \"display\": \"Vaccination Records\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccess\",\n \"text\": \"Reason for access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-ReasonForAccess\",\n \"code\": \"COMB\",\n \"display\": \"Communication Barriers\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccessMoreinfo\",\n \"text\": \"Reason for access - further information\",\n \"answer\": [\n {\n \"valueString\": \"No internet connection\"\n }\n ]\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse" + ] + }, + "description": "## Example scenario\n\n**Given** no proxy role exists between two adults \n**When** a valid access request is sent with the patient as the applicant \n**Then** a 201 response is returned" + }, + "response": [ + { + "name": "A2A patient applicant access request created", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Use-National-Proxy-Store", + "value": "False", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"QuestionnaireResponse\",\n \"status\": \"completed\",\n \"authored\": \"{{$isoTimestamp}}\",\n \"source\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675929\"\n }\n },\n \"subject\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675929\"\n }\n },\n \"questionnaire\": \"Questionnaire/{{$randomUUID}}\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson\",\n \"text\": \"relatedPerson\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9736898164\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name\",\n \"text\": \"relatedPerson_name\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Heidi\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"LAW\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"1997-09-15\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_basisForAccess\",\n \"text\": \"Basis For Access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_relationship\",\n \"text\": \"Relationship\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient\",\n \"text\": \"patient\",\n \"item\": [\n {\n \"linkId\": \"patient_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9730675929\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name\",\n \"text\": \"patient_name\",\n \"item\": [\n {\n \"linkId\": \"patient_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Betty\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"MORLEY\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2005-01-20\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess\",\n \"text\": \"requestedAccess\",\n \"item\": [\n {\n \"linkId\": \"requestedAccess_accessLevel\",\n \"text\": \"Requested access level\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"APPT\",\n \"display\": \"Appointment Booking\"\n }\n },\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"VACC\",\n \"display\": \"Vaccination Records\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccess\",\n \"text\": \"Reason for access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-ReasonForAccess\",\n \"code\": \"COMB\",\n \"display\": \"Communication Barriers\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccessMoreinfo\",\n \"text\": \"Reason for access - further information\",\n \"answer\": [\n {\n \"valueString\": \"No internet connection\"\n }\n ]\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Mon, 01 Dec 2025 16:10:22 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "186" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "d15e2ba0-3698-4fcf-80fe-d73279dd89a8" + }, + { + "key": "x-amz-apigw-id", + "value": "U6qdWHFfLPEFoUA=" + }, + { + "key": "location", + "value": "https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/QuestionnaireResponse/bdbba534-6e11-4491-aa3a-1631b0009628" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692dbdee-08b18875f6f85ab2a7353bd4" + }, + { + "key": "X-Request-ID", + "value": "82cb14a5-09d0-41d4-8f73-2936794c32de" + }, + { + "key": "X-Correlation-ID", + "value": "73873b5d-1e2e-4a42-9dc3-83f1292f944b" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"information\",\n \"code\": \"informational\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"19C0177GRI\",\n \"display\": \"19C0177GRI\"\n }\n ]\n }\n }\n ]\n}" + } + ] + }, + { + "name": "Valid request - New adult to child access request", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Use-National-Proxy-Store", + "value": "False", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"QuestionnaireResponse\",\n \"status\": \"completed\",\n \"authored\": \"{{$isoTimestamp}}\",\n \"source\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675929\"\n }\n },\n \"subject\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898245\"\n }\n },\n \"questionnaire\": \"Questionnaire/01dc6813-3421-4d14-948d-a4888241add1\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson\",\n \"text\": \"relatedPerson\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9730675929\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name\",\n \"text\": \"relatedPerson_name\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Betty\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"MORLEY\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2005-01-20\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_basisForAccess\",\n \"text\": \"Basis For Access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_relationship\",\n \"text\": \"Relationship\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails\",\n \"text\": \"parentalApplicationSupplementaryDetails\",\n \"item\": [\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_evidenceOfResponsibility\",\n \"text\": \"Evidence of parental responsibility\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-EvidenceOfResponsibility\",\n \"code\": \"BRTH\",\n \"display\": \"Birth certificate\"\n }\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_evidenceOfResponsibilityMoreinfo\",\n \"text\": \"Evidence of responsibility - Further Information\",\n \"answer\": [\n {\n \"valueString\": \"Birth Certificate is original\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_isCurrentAddressConfirmed\",\n \"text\": \"Is current address confirmed?\",\n \"answer\": [\n {\n \"valueString\": \"Yes\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_newAddress\",\n \"text\": \"parentalApplicationSupplementaryDetails_newAddress\",\n \"item\": [\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_line1\",\n \"text\": \"Address Line 1\",\n \"answer\": [\n {\n \"valueString\": \"101 MESSINGHAM ROAD\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_line2\",\n \"text\": \"Address Line 2\",\n \"answer\": [\n {\n \"valueString\": \"\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_line3\",\n \"text\": \"Address Line 3\",\n \"answer\": [\n {\n \"valueString\": \"\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_city\",\n \"text\": \"Town / City\",\n \"answer\": [\n {\n \"valueString\": \"SCUNTHORPE\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_district\",\n \"text\": \"County\",\n \"answer\": [\n {\n \"valueString\": \"S HUMBERSIDE\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_postalCode\",\n \"text\": \"Postcode\",\n \"answer\": [\n {\n \"valueString\": \"DN17 2LN\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_liveAtSameAddress\",\n \"text\": \"Do the adult and child live at the same address?\",\n \"answer\": [\n {\n \"valueString\": \"Yes\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_canChildConsent\",\n \"text\": \"Can the child consent?\",\n \"answer\": [\n {\n \"valueString\": \"No\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_reasonNoChildConsent\",\n \"text\": \"Reason the child cannot consent\",\n \"answer\": [\n {\n \"valueString\": \"Child is too young\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient\",\n \"text\": \"patient\",\n \"item\": [\n {\n \"linkId\": \"patient_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9736898245\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name\",\n \"text\": \"patient_name\",\n \"item\": [\n {\n \"linkId\": \"patient_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Amber\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"TUCKER\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2017-06-09\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess\",\n \"text\": \"requestedAccess\",\n \"item\": [\n {\n \"linkId\": \"requestedAccess_accessLevel\",\n \"text\": \"Requested access level\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"APPT\",\n \"display\": \"Appointment Booking\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccess\",\n \"text\": \"Reason for access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-ReasonForAccess\",\n \"code\": \"COMB\",\n \"display\": \"Communication Barriers\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccessMoreinfo\",\n \"text\": \"Reason for access - further information\",\n \"answer\": [\n {\n \"valueString\": \"No internet connection\"\n }\n ]\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse" + ] + }, + "description": "## Example scenario\n\n**Given** no proxy role exists between an adult and child \n**When** a valid access request is sent with the proxy as the applicant \n**Then** a 201 response is returned" + }, + "response": [ + { + "name": "A2C access request created", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Use-National-Proxy-Store", + "value": "False", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"QuestionnaireResponse\",\n \"status\": \"completed\",\n \"authored\": \"{{$isoTimestamp}}\",\n \"source\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675929\"\n }\n },\n \"subject\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898245\"\n }\n },\n \"questionnaire\": \"Questionnaire/01dc6813-3421-4d14-948d-a4888241add1\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson\",\n \"text\": \"relatedPerson\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9730675929\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name\",\n \"text\": \"relatedPerson_name\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Betty\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"MORLEY\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2005-01-20\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_basisForAccess\",\n \"text\": \"Basis For Access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_relationship\",\n \"text\": \"Relationship\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails\",\n \"text\": \"parentalApplicationSupplementaryDetails\",\n \"item\": [\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_evidenceOfResponsibility\",\n \"text\": \"Evidence of parental responsibility\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-EvidenceOfResponsibility\",\n \"code\": \"BRTH\",\n \"display\": \"Birth certificate\"\n }\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_evidenceOfResponsibilityMoreinfo\",\n \"text\": \"Evidence of responsibility - Further Information\",\n \"answer\": [\n {\n \"valueString\": \"Birth Certificate is original\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_isCurrentAddressConfirmed\",\n \"text\": \"Is current address confirmed?\",\n \"answer\": [\n {\n \"valueString\": \"Yes\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_newAddress\",\n \"text\": \"parentalApplicationSupplementaryDetails_newAddress\",\n \"item\": [\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_line1\",\n \"text\": \"Address Line 1\",\n \"answer\": [\n {\n \"valueString\": \"101 MESSINGHAM ROAD\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_line2\",\n \"text\": \"Address Line 2\",\n \"answer\": [\n {\n \"valueString\": \"\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_line3\",\n \"text\": \"Address Line 3\",\n \"answer\": [\n {\n \"valueString\": \"\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_city\",\n \"text\": \"Town / City\",\n \"answer\": [\n {\n \"valueString\": \"SCUNTHORPE\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_district\",\n \"text\": \"County\",\n \"answer\": [\n {\n \"valueString\": \"S HUMBERSIDE\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_postalCode\",\n \"text\": \"Postcode\",\n \"answer\": [\n {\n \"valueString\": \"DN17 2LN\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_liveAtSameAddress\",\n \"text\": \"Do the adult and child live at the same address?\",\n \"answer\": [\n {\n \"valueString\": \"Yes\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_canChildConsent\",\n \"text\": \"Can the child consent?\",\n \"answer\": [\n {\n \"valueString\": \"No\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_reasonNoChildConsent\",\n \"text\": \"Reason the child cannot consent\",\n \"answer\": [\n {\n \"valueString\": \"Child is too young\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient\",\n \"text\": \"patient\",\n \"item\": [\n {\n \"linkId\": \"patient_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9736898245\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name\",\n \"text\": \"patient_name\",\n \"item\": [\n {\n \"linkId\": \"patient_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Amber\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"TUCKER\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2017-06-09\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess\",\n \"text\": \"requestedAccess\",\n \"item\": [\n {\n \"linkId\": \"requestedAccess_accessLevel\",\n \"text\": \"Requested access level\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"APPT\",\n \"display\": \"Appointment Booking\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccess\",\n \"text\": \"Reason for access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-ReasonForAccess\",\n \"code\": \"COMB\",\n \"display\": \"Communication Barriers\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccessMoreinfo\",\n \"text\": \"Reason for access - further information\",\n \"answer\": [\n {\n \"valueString\": \"No internet connection\"\n }\n ]\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Mon, 01 Dec 2025 16:11:33 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "186" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "4eba2237-3c13-4bab-afb1-1261b5ac6a19" + }, + { + "key": "x-amz-apigw-id", + "value": "U6qoVF-JLPEFXqQ=" + }, + { + "key": "location", + "value": "https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/QuestionnaireResponse/29a7f71a-2554-4e53-87de-07553d40d5ec" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692dbe34-f306ba0e1a55aba127add964" + }, + { + "key": "X-Request-ID", + "value": "848e592d-a42e-4fee-b529-8ac484fd459c" + }, + { + "key": "X-Correlation-ID", + "value": "73de9aa5-5951-4d30-8f2d-e64482fb1990" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"information\",\n \"code\": \"informational\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"19C01N8Q37\",\n \"display\": \"19C01N8Q37\"\n }\n ]\n }\n }\n ]\n}" + }, + { + "name": "A2C access request created - Verified relationship", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Use-National-Proxy-Store", + "value": "False", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"QuestionnaireResponse\",\n \"status\": \"completed\",\n \"authored\": \"{{$isoTimestamp}}\",\n \"source\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675929\"\n }\n },\n \"subject\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9730675422\"\n }\n },\n \"questionnaire\": \"Questionnaire/01dc6813-3421-4d14-948d-a4888241add1\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson\",\n \"text\": \"relatedPerson\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9730675929\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name\",\n \"text\": \"relatedPerson_name\",\n \"item\": [\n {\n \"linkId\": \"relatedPerson_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Betty\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"MORLEY\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2005-01-20\"\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_basisForAccess\",\n \"text\": \"Basis For Access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n },\n {\n \"linkId\": \"relatedPerson_relationship\",\n \"text\": \"Relationship\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"PRN\",\n \"display\": \"Parent\"\n }\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails\",\n \"text\": \"parentalApplicationSupplementaryDetails\",\n \"item\": [\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_evidenceOfResponsibility\",\n \"text\": \"Evidence of parental responsibility\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-EvidenceOfResponsibility\",\n \"code\": \"BRTH\",\n \"display\": \"Birth certificate\"\n }\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_evidenceOfResponsibilityMoreinfo\",\n \"text\": \"Evidence of responsibility - Further Information\",\n \"answer\": [\n {\n \"valueString\": \"Birth Certificate is original\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_isCurrentAddressConfirmed\",\n \"text\": \"Is current address confirmed?\",\n \"answer\": [\n {\n \"valueString\": \"Yes\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_newAddress\",\n \"text\": \"parentalApplicationSupplementaryDetails_newAddress\",\n \"item\": [\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_line1\",\n \"text\": \"Address Line 1\",\n \"answer\": [\n {\n \"valueString\": \"101 MESSINGHAM ROAD\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_line2\",\n \"text\": \"Address Line 2\",\n \"answer\": [\n {\n \"valueString\": \"\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_line3\",\n \"text\": \"Address Line 3\",\n \"answer\": [\n {\n \"valueString\": \"\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_city\",\n \"text\": \"Town / City\",\n \"answer\": [\n {\n \"valueString\": \"SCUNTHORPE\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_district\",\n \"text\": \"County\",\n \"answer\": [\n {\n \"valueString\": \"S HUMBERSIDE\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_postalCode\",\n \"text\": \"Postcode\",\n \"answer\": [\n {\n \"valueString\": \"DN17 2LN\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_liveAtSameAddress\",\n \"text\": \"Do the adult and child live at the same address?\",\n \"answer\": [\n {\n \"valueString\": \"Yes\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_canChildConsent\",\n \"text\": \"Can the child consent?\",\n \"answer\": [\n {\n \"valueString\": \"No\"\n }\n ]\n },\n {\n \"linkId\": \"parentalApplicationSupplementaryDetails_reasonNoChildConsent\",\n \"text\": \"Reason the child cannot consent\",\n \"answer\": [\n {\n \"valueString\": \"Child is too young\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient\",\n \"text\": \"patient\",\n \"item\": [\n {\n \"linkId\": \"patient_identifier\",\n \"text\": \"NHS Number\",\n \"answer\": [\n {\n \"valueString\": \"9730675422\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name\",\n \"text\": \"patient_name\",\n \"item\": [\n {\n \"linkId\": \"patient_name_first\",\n \"text\": \"First name.\",\n \"answer\": [\n {\n \"valueString\": \"Rowena\"\n }\n ]\n },\n {\n \"linkId\": \"patient_name_family\",\n \"text\": \"Family name (often called Surname).\",\n \"answer\": [\n {\n \"valueString\": \"HIRST\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"patient_birthDate\",\n \"text\": \"Date of Birth\",\n \"answer\": [\n {\n \"valueDate\": \"2015-08-09\"\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess\",\n \"text\": \"requestedAccess\",\n \"item\": [\n {\n \"linkId\": \"requestedAccess_accessLevel\",\n \"text\": \"Requested access level\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-RequestedAccess\",\n \"code\": \"APPT\",\n \"display\": \"Appointment Booking\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccess\",\n \"text\": \"Reason for access\",\n \"answer\": [\n {\n \"valueCoding\": {\n \"system\": \"https://fhir.nhs.uk/CodeSystem/Proxy-Placeholder-ReasonForAccess\",\n \"code\": \"COMB\",\n \"display\": \"Communication Barriers\"\n }\n }\n ]\n },\n {\n \"linkId\": \"requestedAccess_reasonsForAccessMoreinfo\",\n \"text\": \"Reason for access - further information\",\n \"answer\": [\n {\n \"valueString\": \"No internet connection\"\n }\n ]\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Mon, 01 Dec 2025 16:11:33 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "186" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "4eba2237-3c13-4bab-afb1-1261b5ac6a19" + }, + { + "key": "x-amz-apigw-id", + "value": "U6qoVF-JLPEFXqQ=" + }, + { + "key": "location", + "value": "https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/QuestionnaireResponse/29a7f71a-2554-4e53-87de-07553d40d5ec" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692dbe34-f306ba0e1a55aba127add964" + }, + { + "key": "X-Request-ID", + "value": "848e592d-a42e-4fee-b529-8ac484fd459c" + }, + { + "key": "X-Correlation-ID", + "value": "73de9aa5-5951-4d30-8f2d-e64482fb1990" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"information\",\n \"code\": \"informational\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"19C01N8Q37\",\n \"display\": \"19C01N8Q37\"\n }\n ]\n }\n }\n ]\n}" + } + ] + }, + { + "name": "Invalid request body - New adult to adult access request", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Use-National-Proxy-Store", + "value": "False", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse" + ] + }, + "description": "## Example scenario\n\n**Given** no proxy role exists between two adults \n**When** a access request is sent with invalid body \n**Then** a 400 error response is returned with code 'INVALID_VALUE'" + }, + "response": [ + { + "name": "Invalid request body error response", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Use-National-Proxy-Store", + "value": "False", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Mon, 01 Dec 2025 16:13:37 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "377" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "28073546-4513-47c5-9d2e-17caeb920a78" + }, + { + "key": "x-amz-apigw-id", + "value": "U6q7zHXFLPEF3Bg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692dbeb1-7dd1e1125d0b5422386cffe9" + }, + { + "key": "X-Request-ID", + "value": "d82f5db5-1c08-4251-a94b-50684ea1a06b" + }, + { + "key": "X-Correlation-ID", + "value": "7eeca365-bf2b-4859-9e2c-b5c7731bbe1b" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"BAD_REQUEST\",\n \"display\": \"The request could not be processed.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"The supplied input is not a valid FHIR QuestionnaireResponse.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + } + ], + "description": "## Allowed auth methods\n\n- NHS Login token - Auth with test user `9730675929`\n \n\nSee collection level documentation for info about how to get authorization tokens.", + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{login_token}}", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + } + ] + }, + { + "name": "Get access request (GET /QuestionnaireResponse/{id})", + "item": [ + { + "name": "Valid request - Get access request", + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse/:access_request_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse", + ":access_request_id" + ], + "variable": [ + { + "key": "access_request_id", + "value": "32a5cc78-eb64-4367-abea-cfdb6e9fa2e4" + } + ] + }, + "description": "## Example scenario\n\n**Given** a valid access request has been sent to VRS \n**When** a GET /QuestionnaireResponse/{id} request is sent with the access request UUID \n**Then** the access request is returned" + }, + "response": [] + }, + { + "name": "No access request found - Get access request", + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse/:access_request_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse", + ":access_request_id" + ], + "variable": [ + { + "key": "access_request_id", + "value": "32a5cc78-eb64-4367-abea-cfdb6e9fa2e4" + } + ] + }, + "description": "## Example scenario\n\n**Given** a valid access request has been sent to VRS \n**When** a GET /QuestionnaireResponse/{id} request is sent with a random UUID \n**Then** a 404 error is returned with message 'QUESTIONNAIRE_RESPONSE_NOT_FOUND'" + }, + "response": [ + { + "name": "No access request found error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse/:access_request_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse", + ":access_request_id" + ], + "variable": [ + { + "key": "access_request_id", + "value": "32a5cc78-eb64-4367-abea-cfdb6e9fa2e4" + } + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Mon, 01 Dec 2025 14:37:04 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "400" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "64959769-f136-4d27-9369-b4e01224c066" + }, + { + "key": "x-amz-apigw-id", + "value": "U6cyYE4brPEFXvw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692da80e-520fcf28565fe1ea77ceb7fc" + }, + { + "key": "X-Request-ID", + "value": "f6fe610a-d80b-4436-b727-67960c9687a1" + }, + { + "key": "X-Correlation-ID", + "value": "076421a4-1c56-43e4-95a9-6139434516a7" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"not-found\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"QUESTIONNAIRE_RESPONSE_NOT_FOUND\",\n \"display\": \"Questionnaire response not found\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\"\n }\n ]\n },\n \"diagnostics\": \"The Questionnaire response could not be found using the provided access request ID.\"\n }\n ]\n}" + } + ] + }, + { + "name": "No access request UUID - Get access request", + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse/", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse", + "" + ] + }, + "description": "## Example scenario\n\n**Given** a valid access request has been sent to VRS \n**When** a GET /QuestionnaireResponse/{id} request is sent without a UUID \n**Then** a 400 error is returned with message 'METHOD_NOT_ALLOWED'" + }, + "response": [ + { + "name": "No access request UUID invalid response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse/", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse", + "" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Mon, 01 Dec 2025 15:15:37 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "370" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "42e98c18-f152-4e8f-8cd2-fc0ba2bcc590" + }, + { + "key": "x-amz-apigw-id", + "value": "U6ibrGjDrPEFgRQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692db117-2a87f1ac0c50e6702fcbc5ce" + }, + { + "key": "X-Request-ID", + "value": "4270ae5f-3cc9-418e-a6f8-aab43372486a" + }, + { + "key": "X-Correlation-ID", + "value": "a23d9c20-bcf2-4e03-ba6b-092a703947f3" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"not-supported\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"METHOD_NOT_ALLOWED\",\n \"display\": \"The method is not allowed.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"The method is not allowed for the requested resource.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid access request UUID - Get access request", + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse/invalid", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse", + "invalid" + ] + }, + "description": "## Example scenario\n\n**Given** a valid access request has been sent to VRS \n**When** a GET /QuestionnaireResponse/{id} request is sent with an invalid UUID \n**Then** a 400 error is returned with message 'INVALID_IDENTIFIER_VALUE'" + }, + "response": [ + { + "name": "Invalid access request UUID invalid response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/QuestionnaireResponse/invalid", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "QuestionnaireResponse", + "invalid" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Mon, 01 Dec 2025 15:15:37 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "370" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "42e98c18-f152-4e8f-8cd2-fc0ba2bcc590" + }, + { + "key": "x-amz-apigw-id", + "value": "U6ibrGjDrPEFgRQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-692db117-2a87f1ac0c50e6702fcbc5ce" + }, + { + "key": "X-Request-ID", + "value": "4270ae5f-3cc9-418e-a6f8-aab43372486a" + }, + { + "key": "X-Correlation-ID", + "value": "a23d9c20-bcf2-4e03-ba6b-092a703947f3" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"error\",\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/STU3/CodeSystem/Spine-ErrorOrWarningCode-1\",\n \"code\": \"INVALID_IDENTIFIER_VALUE\",\n \"display\": \"Invalid identifier value\"\n }\n ]\n },\n \"diagnostics\": \"The specified access request ID is invalid. Access request IDs must be a valid UUID.\"\n }\n ]\n}" + } + ] + } + ], + "description": "## Allowed auth methods\n\n- CIS2 token - Auth with test user `656005750108`\n \n- NHS Login token - Auth with test user `9730675929`\n \n\nSee collection level documentation for info about how to get authorization tokens.", + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + } + ] + }, + { + "name": "Create a new proxy role (POST /Consent)", + "item": [ + { + "name": "Valid request - New proxy role", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-12-02\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\",\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\"\n }\n ]\n }\n }\n ]\n}\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + }, + "description": "## Important - duplicates\n\nWe cannot currently accept duplicate proxy role requests for testing purposes.\n\nThis may lead to you experiencing 409 errors on the 'valid request' scenarios if the same request has already been sent.\n\n## Example scenario\n\n**Given** no proxy role exists in NPS between a proxy and patient \n**When** I send a POST /Consent request for the proxy and patient \n**Then** a 201 success response is returned" + }, + "response": [ + { + "name": "Adult to child - New proxy role created", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-12-02\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\",\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\"\n }\n ]\n }\n }\n ]\n}\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 15:14:39 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "101" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "bf6bc3d8-1829-4a81-9433-c0b1c21376d6" + }, + { + "key": "x-amz-apigw-id", + "value": "Uwpe7FCjrPEF5aQ=" + }, + { + "key": "location", + "value": "https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4f15f399-d381-4949-a744-25f9cbfecfb3" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929bc5f-f6012c539553033b0859994a" + }, + { + "key": "X-Request-ID", + "value": "46baf4c8-5bb5-4a6e-9bd4-264452817dab" + }, + { + "key": "X-Correlation-ID", + "value": "65bdf903-1cb2-4722-a291-d5056c44e712" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"information\",\n \"code\": \"informational\"\n }\n ]\n}" + }, + { + "name": "Adult to adult - New proxy role created", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898202\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898164\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-12-02\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\",\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898164\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"ROLE_CREATED\",\n \"display\": \"Role created from scratch by GP\"\n }\n ]\n }\n }\n ]\n}\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 15:14:39 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "101" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "bf6bc3d8-1829-4a81-9433-c0b1c21376d6" + }, + { + "key": "x-amz-apigw-id", + "value": "Uwpe7FCjrPEF5aQ=" + }, + { + "key": "location", + "value": "https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/4f15f399-d381-4949-a744-25f9cbfecfb3" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929bc5f-f6012c539553033b0859994a" + }, + { + "key": "X-Request-ID", + "value": "46baf4c8-5bb5-4a6e-9bd4-264452817dab" + }, + { + "key": "X-Correlation-ID", + "value": "65bdf903-1cb2-4722-a291-d5056c44e712" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"information\",\n \"code\": \"informational\"\n }\n ]\n}" + } + ] + }, + { + "name": "Invalid performer NHS number - New proxy role", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "expectedResponseBody = {", + " \"issue\": [", + " {", + " \"code\": \"invalid\",", + " \"details\": {", + " \"coding\": [", + " {", + " \"code\": \"INVALID_IDENTIFIER_VALUE\",", + " \"display\": \"Invalid identifier value.\",", + " \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",", + " \"version\": \"1\"", + " }", + " ]", + " },", + " \"diagnostics\": \"Performer identifier value is invalid\",", + " \"expression\": [", + " \"performer[0].identifier.value\"", + " ],", + " \"severity\": \"error\"", + " }", + " ],", + " \"resourceType\": \"OperationOutcome\"", + "};", + "", + "expectedErrorCode = 422;", + "", + "pm.test(\"Status code is \" + expectedErrorCode, function () {", + " pm.response.to.have.status(expectedErrorCode);", + "});", + "", + "pm.test(\"Should have correct response body\", () => {", + " const responseJson = pm.response.json();", + " pm.expect(responseJson).to.eql(expectedResponseBody);", + "}); " + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"Invalid\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + }, + "description": "## Example scenario\n\n**Given** no proxy role exists in NPS between a proxy and patient \n**When** I send a POST /Consent request for the proxy and patient with an invalid performer id \n**Then** a 422 error response is returned with code 'INVALID_IDENTIFIER_VALUE'" + }, + "response": [ + { + "name": "Invalid identifier value error returned", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"Invalid\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 12:46:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "402" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "369c4598-e093-44d1-8d27-015c1e1f8a40" + }, + { + "key": "x-amz-apigw-id", + "value": "UwTu1FORLPEFh3Q=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69299991-27f38de5fa687e1e7d4659b3" + }, + { + "key": "X-Request-ID", + "value": "70591ef1-fbe0-442b-bd9a-545fb5713859" + }, + { + "key": "X-Correlation-ID", + "value": "037cf36b-1014-4177-bcc6-c1cd647aae42" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_IDENTIFIER_VALUE\",\n \"display\": \"Invalid identifier value.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Performer identifier value is invalid\",\n \"expression\": [\n \"performer[0].identifier.value\"\n ],\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Duplicate role - New proxy role", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role already exists in NPS between a proxy and patient \n**When** I send a POST /Consent request for the same proxy and patient \n**Then** a 409 error is returned with code 'DUPLICATE_RELATIONSHIP'" + }, + "response": [ + { + "name": "Duplicate role error returned", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "status": "Conflict", + "code": 409, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 12:41:31 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "352" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "de65a534-5cee-45c1-845e-023e9ffab375" + }, + { + "key": "x-amz-apigw-id", + "value": "UwTC8H42LPEFggg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-69299878-54ea0e3b7bd5d7e836eaea8f" + }, + { + "key": "X-Request-ID", + "value": "dd90c863-82e3-4ef8-9568-3e68a64de1e0" + }, + { + "key": "X-Correlation-ID", + "value": "b08cd6b6-96fc-410c-84a9-e52732fcbc09" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"DUPLICATE_RELATIONSHIP\",\n \"display\": \"Request must be for a new proxy role.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Proxy role already exists.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Missing scope - New proxy role", + "request": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "response": [ + { + "name": "Missing scope error returned", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 15:18:49 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "353" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "75bfd563-8f97-4b8a-8d50-a08643917d89" + }, + { + "key": "x-amz-apigw-id", + "value": "UwqGBE7MLPEFySQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929bd59-918cef993de61bcebe339d3e" + }, + { + "key": "X-Request-ID", + "value": "2ca06d13-2568-4f70-b06c-077af0f57137" + }, + { + "key": "X-Correlation-ID", + "value": "8c8ffb79-cc4c-4cb0-a62e-31dc1310a387" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"MISSING_SCOPE\",\n \"display\": \"Required values are missing.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Unable to find scope\",\n \"expression\": [\n \"scope\"\n ],\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid status - New proxy role", + "request": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"invalid\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "response": [ + { + "name": "Invalid status - New proxy role", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"invalid\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 15:27:32 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "339" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "47dd1183-4b49-44f1-a524-79fe459589a9" + }, + { + "key": "x-amz-apigw-id", + "value": "UwrXkFOZrPEF1ZA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929bf63-31132bda7b3f654ea3534f15" + }, + { + "key": "X-Request-ID", + "value": "e23fbdd1-027c-4281-b37d-094691df9fc7" + }, + { + "key": "X-Correlation-ID", + "value": "226277b1-9d7c-411a-b3fd-3a4a70a4d90e" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_STATUS\",\n \"display\": \"Invalid status.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Status is invalid\",\n \"expression\": [\n \"status\"\n ],\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid identifer system - New proxy role", + "request": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number/invalid\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number/invalid\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "response": [ + { + "name": "Invalid status error returned", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/fhir+json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"resourceType\": \"Consent\",\n \"status\": \"active\",\n \"scope\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\",\n \"code\": \"patient-privacy\",\n \"display\": \"Privacy Consent\"\n }\n ],\n \"text\": \"Patient Privacy Consent\"\n },\n \"category\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"INFA\",\n \"display\": \"Information Access\"\n }\n ],\n \"text\": \"Information Access Consent\"\n }\n ],\n \"patient\": {\n \"type\": \"Patient\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number/invalid\",\n \"value\": \"9736898717\"\n }\n },\n \"dateTime\": \"{{$isoTimestamp}}\",\n \"performer\": [\n {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number/invalid\",\n \"value\": \"9736898148\"\n }\n }\n ],\n \"provision\": {\n \"period\": {\n \"start\": \"2025-11-23\",\n \"end\": \"2030-11-23\"\n },\n \"actor\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",\n \"code\": \"MTH\",\n \"display\": \"Mother\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n },\n \"extension\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"TBC\",\n \"display\": \"TBC\"\n }\n ]\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 15:29:32 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "399" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "9ca19fe7-0a06-4da0-9b72-9e6135da40f1" + }, + { + "key": "x-amz-apigw-id", + "value": "UwrqcGPaLPEFWkg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929bfdc-4e9f2ada8f5faf65f1630c1c" + }, + { + "key": "X-Request-ID", + "value": "21cc43ac-e531-477d-bc97-3e77e9657b52" + }, + { + "key": "X-Correlation-ID", + "value": "aeeaa71d-0a78-4e83-8c81-3b2884371ae9" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_IDENTIFIER_SYSTEM\",\n \"display\": \"Invalid identifier system.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Patient identifier system is invalid\",\n \"expression\": [\n \"patient.identifier.system\"\n ],\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + } + ], + "description": "## Allowed auth methods\n\n- CIS2 token - Auth with test user `656005750108`\n \n\nSee collection level documentation for info about how to get authorization tokens.", + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + } + ] + }, + { + "name": "Update proxy role (PATCH /Consent/{id})", + "item": [ + { + "name": "Valid request - Single update - Update proxy role", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\"op\": \"replace\", \"path\": \"/status\", \"value\": \"inactive\"},\n {\n \"op\": \"replace\",\n \"path\": \"/extension\",\n \"value\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"ROLE_DEACTIVATED_NOT_NEEDED\",\n \"display\": \"Patient no longer needs proxy support\"\n }\n ]\n }\n }\n ]\n }\n]\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "0e8d365d-2667-4426-ae66-7eb8302bc724" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists in the National Proxy Store (NPS) \n**When** I send a PATCH /Consent request to update the proxy role \n**Then** a 200 response is returned and the role is updated" + }, + "response": [ + { + "name": "Proxy role updated to 'inactive' status", + "originalRequest": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\"op\": \"replace\", \"path\": \"/status\", \"value\": \"inactive\"},\n {\n \"op\": \"replace\",\n \"path\": \"/extension\",\n \"value\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"ROLE_DEACTIVATED_NOT_NEEDED\",\n \"display\": \"Patient no longer needs proxy support\"\n }\n ]\n }\n }\n ]\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "0e8d365d-2667-4426-ae66-7eb8302bc724" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 16:23:31 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "101" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "5b03d759-c55a-462d-ba3c-e2dbf92d031a" + }, + { + "key": "x-amz-apigw-id", + "value": "UwzkUE0urPEFqHg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929cc81-0d146fcdbc79baf5a5279c3d" + }, + { + "key": "X-Request-ID", + "value": "4555113e-aa4d-409d-bac0-41b0ed91cfc2" + }, + { + "key": "X-Correlation-ID", + "value": "b8c69a60-667d-4b0f-89c7-9de6d4e289a4" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"information\",\n \"code\": \"informational\"\n }\n ]\n}" + }, + { + "name": "Proxy role end date updated", + "originalRequest": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/provision/period/end\",\n \"value\": \"2026-12-31\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "0e8d365d-2667-4426-ae66-7eb8302bc724" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 15:48:46 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "101" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "eb0a2130-76e5-41a0-9916-e7c8aa25a4ea" + }, + { + "key": "x-amz-apigw-id", + "value": "VEgG2Hh6LPEFXRQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6931ad5e-d4506ade6d4f3410b20618b9" + }, + { + "key": "X-Request-ID", + "value": "90a9a964-db4c-4ec7-9498-76087f979bb5" + }, + { + "key": "X-Correlation-ID", + "value": "2aa6936b-c5ba-437d-898e-c58794601a01" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"information\",\n \"code\": \"informational\"\n }\n ]\n}" + }, + { + "name": "Proxy role legal basis updated", + "originalRequest": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/provision/actor\",\n \"value\": [\n {\n \"role\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/England/CodeSystem/England-NHSProxyLegalBasis\",\n \"code\": \"parental-responsibility\",\n \"display\": \"Parental responsibility\"\n }\n ]\n },\n \"reference\": {\n \"type\": \"RelatedPerson\",\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n }\n }\n ]\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "0e8d365d-2667-4426-ae66-7eb8302bc724" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 15:54:54 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "101" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "63072889-896c-43b1-aff1-0e4eceb2b4d4" + }, + { + "key": "x-amz-apigw-id", + "value": "VEg_9FQxLPEF1mA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6931aecc-d571f76cb8f3900088a01c45" + }, + { + "key": "X-Request-ID", + "value": "e436ebda-5011-431a-9de3-1d0749c6f45e" + }, + { + "key": "X-Correlation-ID", + "value": "930a58a1-7ca9-4a89-ac33-a24f5277b1d9" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"resourceType\": \"OperationOutcome\",\n \"issue\": [\n {\n \"severity\": \"information\",\n \"code\": \"informational\"\n }\n ]\n}" + } + ] + }, + { + "name": "Valid request - Multiple updates - Update proxy role", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\"op\": \"replace\", \"path\": \"/status\", \"value\": \"inactive\"},\n {\n \"op\": \"replace\",\n \"path\": \"/extension\",\n \"value\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"ROLE_DEACTIVATED_NOT_NEEDED\",\n \"display\": \"Patient no longer needs proxy support\"\n }\n ]\n }\n }\n ]\n },\n {\n \"op\": \"replace\",\n \"path\": \"/provision/period/end\",\n \"value\": \"2026-12-31\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "0e8d365d-2667-4426-ae66-7eb8302bc724" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists in the National Proxy Store (NPS) \n**When** I send a PATCH /Consent request with multiple updates for the proxy role \n**Then** a 200 response is returned and the role is updated" + }, + "response": [ + { + "name": "Proxy role status updated with end date", + "originalRequest": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\"op\": \"replace\", \"path\": \"/status\", \"value\": \"inactive\"},\n {\n \"op\": \"replace\",\n \"path\": \"/extension\",\n \"value\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"ROLE_DEACTIVATED_NOT_NEEDED\",\n \"display\": \"Patient no longer needs proxy support\"\n }\n ]\n }\n }\n ]\n },\n {\n \"op\": \"replace\",\n \"path\": \"/provision/period/end\",\n \"value\": \"2026-12-31\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "79e108c2-cab3-4b77-a4e0-39c87a1659ef" + } + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 04 Dec 2025 15:56:16 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "348" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "fbb23fc6-d143-4ad4-ab95-fef1276bf7d0" + }, + { + "key": "x-amz-apigw-id", + "value": "VEhNJE2VrPEFXkA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6931af20-0cc7e03b708f8949fc05bdfa" + }, + { + "key": "X-Request-ID", + "value": "0aa389b6-9542-428f-9e1c-b5411ff0a531" + }, + { + "key": "X-Correlation-ID", + "value": "e3845975-3d6b-4185-81cb-22a80f7ed0da" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"diagnostics\": \"Proxy role not found.\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"RESOURCE_NOT_FOUND\",\n \"display\": \"Request must be for a existing proxy role.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Resource not found - Update proxy role", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/status\",\n \"value\": \"inactive\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "{{$randomUUID}}" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists in the National Proxy Store for a given UUID \n**When** a PATCH /Consent request is sent using the UUID \n**Then** a 404 error is returned with code 'RESOURCE_NOT_FOUND'" + }, + "response": [ + { + "name": "Resource not found error response", + "originalRequest": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/status\",\n \"value\": \"inactive\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "{{$randomUUID}}" + } + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 16:51:31 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "348" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "5940dd45-0b04-4e71-8fce-6a69665b256e" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw3q4HTZrPEFxLQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929d312-f383a46c595faa9361bb8326" + }, + { + "key": "X-Request-ID", + "value": "4cfc1e62-1d97-47b2-825e-2f72eed5e29e" + }, + { + "key": "X-Correlation-ID", + "value": "db86232d-68a5-492d-96e3-02613a3cf6bf" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"diagnostics\": \"Proxy role not found.\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"RESOURCE_NOT_FOUND\",\n \"display\": \"Request must be for a existing proxy role.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid status code - Update proxy role", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/status\",\n \"value\": \"someinvalidcode\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "0e8d365d-2667-4426-ae66-7eb8302bc724" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists in the National Proxy Store for a given UUID \n**When** a PATCH /Consent request is sent using the UUID \n**Then** a 404 error is returned with code 'RESOURCE_NOT_FOUND'" + }, + "response": [ + { + "name": "Invalid status code error returned", + "originalRequest": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/status\",\n \"value\": \"someinvalidcode\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "aa58f9b7-2a02-45a2-9cb4-0d6fefe07a02" + } + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 16:56:26 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "329" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "557c0652-9a38-434c-99c1-f979920055bf" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw4ZOEOOLPEFggg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929d43a-6c636f683c11b4ac83776aa6" + }, + { + "key": "X-Request-ID", + "value": "1a4ee8bf-0d2b-4398-950f-b3fd9332e7d3" + }, + { + "key": "X-Correlation-ID", + "value": "986fe591-c2f0-422d-9e1e-c99628e9a1df" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_STATUS_CODE\",\n \"display\": \"Status code is invalid.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Invalid status code.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid state transition - Update proxy role", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\"op\": \"replace\", \"path\": \"/status\", \"value\": \"proposed\"},\n {\n \"op\": \"replace\",\n \"path\": \"/extension\",\n \"value\": [\n {\n \"url\": \"https://fhir.hl7.org.uk/StructureDefinition/Extension-statusReason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"https://terminology.hl7.org/CodeSystem/consent-reason\",\n \"code\": \"APPLICATION_RESUBMITTED\",\n \"display\": \"Application re-submitted online after previously rejected\"\n }\n ]\n }\n }\n ]\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "0e8d365d-2667-4426-ae66-7eb8302bc724" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists in the National Proxy Store for a given UUID \n**When** a PATCH /Consent request is sent using the UUID \n**Then** a 404 error is returned with code 'RESOURCE_NOT_FOUND'" + }, + "response": [ + { + "name": "Invalid status code error returned", + "originalRequest": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/status\",\n \"value\": \"someinvalidcode\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "aa58f9b7-2a02-45a2-9cb4-0d6fefe07a02" + } + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 16:56:26 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "329" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "557c0652-9a38-434c-99c1-f979920055bf" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw4ZOEOOLPEFggg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929d43a-6c636f683c11b4ac83776aa6" + }, + { + "key": "X-Request-ID", + "value": "1a4ee8bf-0d2b-4398-950f-b3fd9332e7d3" + }, + { + "key": "X-Correlation-ID", + "value": "986fe591-c2f0-422d-9e1e-c99628e9a1df" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"diagnostics\": \"Patch attempting invalid status change.\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_STATE_TRANSITION\",\n \"display\": \"Status change is invalid.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid path - Update proxy role", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/someotherpath\",\n \"value\": \"active\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "0e8d365d-2667-4426-ae66-7eb8302bc724" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy role exists in the National Proxy Store for a given UUID \n**When** a PATCH /Consent request with an invalid path is sent using the UUID \n**Then** a 400 error is returned with code 'INVALID_PATCH_PATH'" + }, + "response": [ + { + "name": "Invalid path error returned", + "originalRequest": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json-patch+json", + "type": "text" + }, + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/someotherpath\",\n \"value\": \"active\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{api_base_url}}/Consent/:consent_id", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent", + ":consent_id" + ], + "variable": [ + { + "key": "consent_id", + "value": "aa58f9b7-2a02-45a2-9cb4-0d6fefe07a02" + } + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 16:58:39 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "346" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "9c37f3a0-d1af-4a9d-8664-20edf45bd111" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw4t7HzBrPEFTsw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929d4bf-e038f4c128983e6e945b14ad" + }, + { + "key": "X-Request-ID", + "value": "3e5e943f-2647-4a09-b216-7d3551a637e7" + }, + { + "key": "X-Correlation-ID", + "value": "65dc6940-bcb3-466d-b25d-0a10ab98d7e6" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_PATCH_PATH\",\n \"display\": \"Patch target is invalid.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"Patch targeting non-existent element.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + } + ], + "description": "## Allowed auth methods\n\n- CIS2 token - Auth with test user `656005750108`\n \n- NHS Login token - Auth with test user `9730675929`\n \n\nSee collection level documentation for info about how to get authorization tokens." + }, + { + "name": "Get verified candidate relationships (GET /RelatedPerson)", + "item": [ + { + "name": "Valid request - Get verified candidate relationships", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=9736898121", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "9736898121", + "description": "NHS number of the user to retrieve verified relationships for" + } + ] + }, + "description": "## Example scenario\n\n**Given** an NHS user has multiple related person relationships in PDS \n**When** a GET /RelatedPerson request is sent for the user \n**Then** the relationships are returned" + }, + "response": [ + { + "name": "Candidate relationship returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=9736898148", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "9736898148", + "description": "NHS number of the user to retrieve verified relationships for" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 17:10:29 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "927" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "3c77c3f5-2f94-4718-b4df-a994b49a9c8d" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw6coGWKLPEFyvQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929d783-8368a433a0eae3395c7136cb" + }, + { + "key": "X-Request-ID", + "value": "e464b1c8-ad9b-41a2-9de3-2dd0e34d0fce" + }, + { + "key": "X-Correlation-ID", + "value": "056c8f1f-9d95-44b2-a4f7-582554f53387" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/IyKYB\",\n \"resource\": {\n \"id\": \"IyKYB\",\n \"birthDate\": \"2015-09-26\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"MTH\",\n \"display\": \"mother\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ],\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson?identifier=9736898148\"\n }\n ],\n \"timestamp\": \"2025-11-28T17:10:29.231159+00:00\",\n \"total\": 1,\n \"type\": \"searchset\",\n \"resourceType\": \"Bundle\"\n}" + }, + { + "name": "Candidate relationship returned with patient details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=9736898148&_include=RelatedPerson:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "9736898148", + "description": "NHS number of the user to retrieve verified relationships for" + }, + { + "key": "_include", + "value": "RelatedPerson:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 17:13:27 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "1395" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "a34914f5-c757-4a7c-b8e6-2061793de970" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw63LFuCLPEFtfA=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929d82d-7210a91047b09608692e6ff6" + }, + { + "key": "X-Request-ID", + "value": "c46487fa-a7a9-4adb-82ec-dc7702fa66d4" + }, + { + "key": "X-Correlation-ID", + "value": "755116de-f4ef-406b-8088-1af14dd85c8d" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/9736898644\",\n \"resource\": {\n \"id\": \"9736898644\",\n \"birthDate\": \"2015-09-26\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"resourceType\": \"Patient\"\n },\n \"search\": {\n \"mode\": \"include\"\n }\n },\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/IyKYB\",\n \"resource\": {\n \"id\": \"IyKYB\",\n \"birthDate\": \"2015-09-26\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"MTH\",\n \"display\": \"mother\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ],\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson?identifier=9736898148&_include=RelatedPerson%3Apatient\"\n }\n ],\n \"timestamp\": \"2025-11-28T17:13:27.630813+00:00\",\n \"total\": 1,\n \"type\": \"searchset\",\n \"resourceType\": \"Bundle\"\n}" + } + ] + }, + { + "name": "Valid request - No relationships returned - Get verified candidate relationships", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=9736898199", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "9736898199", + "description": "NHS number of the user to retrieve verified relationships for" + } + ] + }, + "description": "## Example scenario\n\n**Given** an NHS user has no related person relationships in PDS \n**When** a GET /RelatedPerson request is sent for the user \n**Then** no relationships are returned" + }, + "response": [ + { + "name": "No relationships returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=9736898199", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "9736898199", + "description": "NHS number of the user to retrieve verified relationships for" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 17:15:06 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "249" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "9305e61b-2b8b-4a0c-84dd-0be9c4e1ce72" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw7IDHSxrPEF7gg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929d899-c345d4868005c5dc5999d598" + }, + { + "key": "X-Request-ID", + "value": "189b9dd8-722e-4e1b-b76b-75d2dd05fd00" + }, + { + "key": "X-Correlation-ID", + "value": "38045e59-8b2a-4f52-a1a5-834c91c25a9f" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson?identifier=9736898199\"\n }\n ],\n \"timestamp\": \"2025-11-28T17:15:05.994606+00:00\",\n \"total\": 0,\n \"type\": \"searchset\",\n \"resourceType\": \"Bundle\"\n}" + } + ] + }, + { + "name": "Valid request - Verify relationship - Get verified candidate relationships", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=9736898148&patient:identifier=9736898644", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "9736898148", + "description": "NHS number of the user to retrieve verified relationships for" + }, + { + "key": "patient:identifier", + "value": "9736898644" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy has a related person relationship in PDS \n**When** a GET /RelatedPerson request is sent for the proxy and the patient \n**Then** the relationship is returned" + }, + "response": [ + { + "name": "Verified relationship returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=9736898148&patient:identifier=9736898644", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "9736898148", + "description": "NHS number of the user to retrieve verified relationships for" + }, + { + "key": "patient:identifier", + "value": "9736898644" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 17:19:37 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "959" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "2ac409be-e9ce-4d73-a4b4-3c8a791aa51e" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw7x4HIMrPEF-Fg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929d9a5-d9df4059c3c602feabe873fc" + }, + { + "key": "X-Request-ID", + "value": "88367407-4953-4b64-9da0-6308c007b120" + }, + { + "key": "X-Correlation-ID", + "value": "8b55ca15-93fb-4ce9-be1b-eb0eb5e728fa" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/IyKYB\",\n \"resource\": {\n \"id\": \"IyKYB\",\n \"birthDate\": \"2015-09-26\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"MTH\",\n \"display\": \"mother\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ],\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson?identifier=9736898148&patient%3Aidentifier=9736898644\"\n }\n ],\n \"timestamp\": \"2025-11-28T17:19:37.300736+00:00\",\n \"total\": 1,\n \"type\": \"searchset\",\n \"resourceType\": \"Bundle\"\n}" + }, + { + "name": "Verified relationship returned with patient details", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=9736898148&patient:identifier=9736898644&_include=RelatedPerson:patient", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "9736898148", + "description": "NHS number of the user to retrieve verified relationships for" + }, + { + "key": "patient:identifier", + "value": "9736898644" + }, + { + "key": "_include", + "value": "RelatedPerson:patient" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 17:19:37 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "959" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "2ac409be-e9ce-4d73-a4b4-3c8a791aa51e" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw7x4HIMrPEF-Fg=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929d9a5-d9df4059c3c602feabe873fc" + }, + { + "key": "X-Request-ID", + "value": "88367407-4953-4b64-9da0-6308c007b120" + }, + { + "key": "X-Correlation-ID", + "value": "8b55ca15-93fb-4ce9-be1b-eb0eb5e728fa" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"entry\": [\n {\n \"fullUrl\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/IyKYB\",\n \"resource\": {\n \"id\": \"IyKYB\",\n \"birthDate\": \"2015-09-26\",\n \"identifier\": [\n {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898148\"\n }\n ],\n \"name\": [\n {\n \"family\": \"SHEPP\",\n \"given\": [\n \"Ashley\",\n \"Ellen\"\n ],\n \"period\": {\n \"start\": \"2025-08-06\"\n },\n \"prefix\": [\n \"MS\"\n ],\n \"use\": \"usual\"\n }\n ],\n \"patient\": {\n \"identifier\": {\n \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",\n \"value\": \"9736898644\"\n }\n },\n \"relationship\": [\n {\n \"coding\": [\n {\n \"code\": \"MTH\",\n \"display\": \"mother\",\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"\n }\n ]\n }\n ],\n \"resourceType\": \"RelatedPerson\"\n },\n \"search\": {\n \"mode\": \"match\"\n }\n }\n ],\n \"link\": [\n {\n \"relation\": \"self\",\n \"url\": \"https://int.api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson?identifier=9736898148&patient%3Aidentifier=9736898644\"\n }\n ],\n \"timestamp\": \"2025-11-28T17:19:37.300736+00:00\",\n \"total\": 1,\n \"type\": \"searchset\",\n \"resourceType\": \"Bundle\"\n}" + } + ] + }, + { + "name": "Missing identifier value - Get verified candidate relationships", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ] + }, + "description": "## Example scenario\n\n**Given** a proxy has a related person relationship in PDS \n**When** a GET /RelatedPerson request is sent with no identifier \n**Then** a 400 error is returned with code 'MISSING_IDENTIFIER_VALUE'" + }, + "response": [ + { + "name": "Missing identifier value error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 17:45:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "362" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "f524a29e-b0e9-45b0-af70-ad23fd87158c" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw_h7GQFrPEF8xw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929dfa5-ca879ed8f2a8b5c139182a8b" + }, + { + "key": "X-Request-ID", + "value": "28dbd904-517c-4e42-a3f6-37772b2da578" + }, + { + "key": "X-Correlation-ID", + "value": "e1229f7b-b14f-4858-b4fd-dcb3c9151a99" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"MISSING_IDENTIFIER_VALUE\",\n \"display\": \"Missing RelatedPerson NHS number.\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"The 'identifier' parameter is required\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid identifier value - Get verified candidate relationships", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=invalid", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "invalid" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy has a related person relationship in PDS \n**When** a GET /RelatedPerson request is sent with an invalid identifier \n**Then** a 400 error is returned with code 'INVALID_IDENTIFIER_VALUE'" + }, + "response": [ + { + "name": "Invalid identifier value error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=invalid", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "invalid" + } + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 17:47:15 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "422" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "7a627dc1-8fe7-4a07-9a17-5e8a7c77963b" + }, + { + "key": "x-amz-apigw-id", + "value": "Uw_1hFJWLPEFbKQ=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929e022-4dc5c06769a0b866a6456227" + }, + { + "key": "X-Request-ID", + "value": "c695d77b-b94e-4e04-9e2b-f7e34ef2e414" + }, + { + "key": "X-Correlation-ID", + "value": "46db2d38-e52b-4fcc-a8cf-2617fec4557a" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"diagnostics\": \"Not a valid NHS Number provided for the 'identifier' parameter\",\n \"expression\": [\n \"RelatedPerson.identifier\"\n ],\n \"details\": {\n \"coding\": [\n {\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\",\n \"code\": \"INVALID_IDENTIFIER_VALUE\",\n \"display\": \"Provided value is invalid\"\n }\n ]\n },\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + }, + { + "name": "Invalid identifier system - Get verified candidate relationships", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=https://fhir.nhs.uk/Id/nhs-number/invalid|730675929", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "https://fhir.nhs.uk/Id/nhs-number/invalid|730675929" + } + ] + }, + "description": "## Example scenario\n\n**Given** a proxy has a related person relationship in PDS \n**When** a GET /RelatedPerson request is sent with an invalid identifier \n**Then** a 400 error is returned with code 'INVALID_IDENTIFIER_VALUE'" + }, + "response": [ + { + "name": "Invalid identifier value error returned", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "X-Request-ID", + "value": "{{$guid}}", + "type": "text" + }, + { + "key": "X-Correlation-ID", + "value": "{{$guid}}", + "type": "text" + } + ], + "url": { + "raw": "{{api_base_url}}/RelatedPerson?identifier=https://fhir.nhs.uk/Id/nhs-number/invalid|730675929", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "RelatedPerson" + ], + "query": [ + { + "key": "identifier", + "value": "https://fhir.nhs.uk/Id/nhs-number/invalid|730675929" + } + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": null, + "header": [ + { + "key": "Date", + "value": "Fri, 28 Nov 2025 17:48:42 GMT" + }, + { + "key": "Content-Type", + "value": "application/fhir+json" + }, + { + "key": "Content-Length", + "value": "352" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-amzn-RequestId", + "value": "66e70023-f78b-48aa-a29f-3df08e3e895c" + }, + { + "key": "x-amz-apigw-id", + "value": "UxADKEqiLPEFbWw=" + }, + { + "key": "X-Amzn-Trace-Id", + "value": "Root=1-6929e07a-ade89162a2d0b573830554ca" + }, + { + "key": "X-Request-ID", + "value": "a6c275c6-3964-4d18-8860-fcf25e510f14" + }, + { + "key": "X-Correlation-ID", + "value": "1d7ecfb8-29fb-461a-9904-e28216b510f8" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookie": [], + "body": "{\n \"issue\": [\n {\n \"code\": \"invalid\",\n \"details\": {\n \"coding\": [\n {\n \"code\": \"INVALID_IDENTIFIER_SYSTEM\",\n \"display\": \"Invalid identifier system\",\n \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",\n \"version\": \"1\"\n }\n ]\n },\n \"diagnostics\": \"The identifier system is not valid.\",\n \"severity\": \"error\"\n }\n ],\n \"resourceType\": \"OperationOutcome\"\n}" + } + ] + } + ], + "description": "## Allowed auth methods\n\n- NHS Login token - Auth with test user `9730675929`\n \n- CIS2 token - Auth with test user `656005750108`\n \n\nSee collection level documentation for info about how to get authorization tokens.", + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{cis2_token}}", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + } + ] + } + ], + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{authorization_header_value}}", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "requests": {}, + "exec": [ + "" + ] + } + } + ], + "variable": [ + { + "key": "nps_enabled", + "value": "", + "description": "Boolean to determine whether the National Proxy Store should be used when fulfilling the request" + }, + { + "key": "nam_cache_enabled", + "value": "", + "description": "Boolean to determine if cached data from NAM should be used when fulfilling the request" + }, + { + "key": "nam_enabled", + "value": "", + "description": "Boolean to determine whether NAM should be called when fulfilling the request" + }, + { + "key": "use_nam_mock", + "value": "", + "description": "Boolean to determine whether the NAM mock should be used when fulfilling the request" + } + ] +} \ No newline at end of file diff --git a/postman/Validated Relationship Service Sandbox.postman_collection.json b/postman/validated_relationship_service.sandbox.postman_collection.json similarity index 100% rename from postman/Validated Relationship Service Sandbox.postman_collection.json rename to postman/validated_relationship_service.sandbox.postman_collection.json diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 00000000..d395d477 --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,158 @@ +# How to run Scripts + +## First Steps + +### Install packages + +The tooling we use to manage our packages in poetry so this needs to be installed on your local machine in order to run +the scripts. + +Then run the following command in the scripts directory + +``` +poetry install +``` + +## Script Specific + +### Get CIS2 Access Token for Int Environment + +#### Set Environment Variables + +You will require the following environment variables in order to run the script: + +``` +export APIGEE_ENVIRONMENT=int +export APPLICATION_CLIENT_ID={application_client_id} +export APPLICATION_CLIENT_SECRET={application_client_secret} +``` + +The values for `APPLICATION_CLIENT_ID` and `APPLICATION_CLIENT_SECRET` can be found on the NHS Developer Account +portal 'NHS - Proxy Core Services...' environment resource in the Active API keys section. + +#### Select an identifier + +There are a different levels of authenticator assurance levels eg. AAL3. +For VRS CIS2 users are only accessible to access selected APIs. +Please find a list of test users detailed in this page: +https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/testing-apis-with-our-mock-authorisation-service#test-users-for-cis2-authentication +This can be used to select your identifier for the next step. +i.e. 656005750108 to test with a CIS2 user with AAL3 authenticator assurance level. + +#### Run the script + +Then run the following command in the scripts directory + +``` +poetry run python3 get_cis2_access_token_int.py +``` + +You will be prompted to "Enter an identifier: " + +Enter the identifier selected in previous step eg. 656005750108 + +In your terminal you should see a response that includes an access token + +e.g. + +``` +{'access_token': 'EFFs3EeT0SZbF2J14LvM93vVDTaA', 'expires_in': '599', 'refresh_token': 'BDEcXjJI36DJA8Dlw8wS0jCuYJJqC8tK', 'refresh_token_expires_in': '43199', 'refresh_count': '0', 'token_type': 'Bearer'} +``` + +### Get NHS Login Access Token for Int Environment + +#### Set Environment Variables + +You will require the following environment variables in order to run the script: + +``` +export APIGEE_ENVIRONMENT=int +export APPLICATION_CLIENT_ID={application_client_id} +export APPLICATION_CLIENT_SECRET={application_client_secret} +``` + +The values for `APPLICATION_CLIENT_ID` and `APPLICATION_CLIENT_SECRET` can be found on the NHS Developer Account +portal 'NHS - Proxy Core Services...' environment resource in the Active API keys section. + +#### Select an identifier + +There are a different identity proofing levels eg. p9. +For VRS p9 users are only accessible to access selected APIs. +Please find a list of test users detailed in this page: +https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/testing-apis-with-our-mock-authorisation-service#test-users-for-nhs-login +This can be used to select your identifier for the next step. +i.e. 9912003071 to test with a p9 user. + +#### Run the script + +Then run the following command in the scripts directory + +``` +poetry run python3 get_nhs_login_access_token_int.py +``` + +You will be prompted to "Enter an identifier: " + +Enter the identifier selected in previous step eg. 9912003071 + +In your terminal you should see a response that includes an access token + +e.g. + +``` +{'access_token': 'EFFs3EeT0SZbF2J14LvM93vVDTaA', 'expires_in': '599', 'refresh_token': 'BDEcXjJI36DJA8Dlw8wS0jCuYJJqC8tK', 'refresh_token_expires_in': '43199', 'refresh_count': '0', 'token_type': 'Bearer'} +``` + +### Get App Restricted Access Token for Int Environment + +Application restricted authentication is when a system is trying to access an API rather than a person. For example the +Validated Relationship Service (VRS) will need an app restricted access token in order to call the Personal Demographic +Service (PDS) API. +https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis + +#### Set Environment Variables + +You will require the following environment variables in order to run the script: + +``` +export APIGEE_ENVIRONMENT=int +export APPLICATION_CLIENT_ID={vrs_application_client_id} +export APPLICATION_CLIENT_KID={vrs_application_client_secret} +export APPLICATION_CLIENT_PRIVATE_KEY={vrs_application_client_private_key} +``` + +Note with VRS_CLIENT_PRIVATE_KEY it needs to be wrapped in double quotation marks otherwise there can be formatting +errors + +The values for `APPLICATION_CLIENT_ID` and `APPLICATION_CLIENT_KID` can be found on the NHS Developer Account portal ' +NHS - Proxy Core Services...' environment resource in the Active API keys section. + +The `APPLICATION_CLIENT_PRIVATE_KEY` is stored in AWS Secrets Manager. Please contact the VRS team if you don't have AWS +access to obtain this. + +#### Run the script + +Then run the following command in the scripts directory + +``` +poetry run python3 get_app_access_token_int.py +``` + +In your terminal you should see a response that includes an access token + +e.g. + +``` +{'access_token': 'EFFs3EeT0SZbF2J14LvM93vVDTaA', 'expires_in': '599', 'refresh_token': 'BDEcXjJI36DJA8Dlw8wS0jCuYJJqC8tK', 'refresh_token_expires_in': '43199', 'refresh_count': '0', 'token_type': 'Bearer'} +``` + +### Trouble Shooting + +If you have issues with the script, a good place to start is to ensure the environment variables are accessible to +poetry. This can be achieved by installing the poetry dotenv plugin + +Run this command + +``` +poetry plugin add poetry-dotenv-plugin +``` diff --git a/scripts/get_app_access_token_int.py b/scripts/get_app_access_token_int.py new file mode 100644 index 00000000..d08b6e7d --- /dev/null +++ b/scripts/get_app_access_token_int.py @@ -0,0 +1,19 @@ +from os import getenv +from pytest_nhsd_apim.identity_service import ( + ClientCredentialsConfig, + ClientCredentialsAuthenticator, +) + +client_id = getenv("APPLICATION_CLIENT_ID") +kid = getenv("APPLICATION_CLIENT_KID") +private_key = getenv("APPLICATION_CLIENT_PRIVATE_KEY").replace("\\n", "\n") +config = ClientCredentialsConfig( + environment=getenv("APIGEE_ENVIRONMENT"), + identity_service_base_url=f"https://{getenv('APIGEE_ENVIRONMENT')}.api.service.nhs.uk/oauth2-mock", + client_id=client_id, + jwt_private_key=private_key, + jwt_kid=kid, +) + +authenticator = ClientCredentialsAuthenticator(config=config) +print(authenticator.get_token()) diff --git a/scripts/get_cis2_access_token_int.py b/scripts/get_cis2_access_token_int.py new file mode 100644 index 00000000..8d496ceb --- /dev/null +++ b/scripts/get_cis2_access_token_int.py @@ -0,0 +1,20 @@ +from os import getenv +from pytest_nhsd_apim.identity_service import ( + AuthorizationCodeConfig, + AuthorizationCodeAuthenticator, +) + +identifier = str(input("Enter an identifier: ")) +scope = "nhs-cis2" +config = AuthorizationCodeConfig( + environment=getenv("APIGEE_ENVIRONMENT"), + identity_service_base_url=f"https://{getenv('APIGEE_ENVIRONMENT')}.api.service.nhs.uk/oauth2-mock", + callback_url="https://oauth.pstmn.io/v1/browser-callback", + client_id=getenv("APPLICATION_CLIENT_ID"), + client_secret=getenv("APPLICATION_CLIENT_SECRET"), + scope=scope, + login_form={"username": identifier}, +) + +authenticator = AuthorizationCodeAuthenticator(config=config) +print(authenticator.get_token()) diff --git a/scripts/get_nhs_login_access_token_int.py b/scripts/get_nhs_login_access_token_int.py new file mode 100644 index 00000000..fa2d3f2d --- /dev/null +++ b/scripts/get_nhs_login_access_token_int.py @@ -0,0 +1,20 @@ +from os import getenv +from pytest_nhsd_apim.identity_service import ( + AuthorizationCodeConfig, + AuthorizationCodeAuthenticator, +) + +identifier = str(input("Enter an identifier: ")) +scope = "nhs-login" +config = AuthorizationCodeConfig( + environment=getenv("APIGEE_ENVIRONMENT"), + identity_service_base_url=f"https://{getenv('APIGEE_ENVIRONMENT')}.api.service.nhs.uk/oauth2-mock", + callback_url="https://oauth.pstmn.io/v1/browser-callback", + client_id=getenv("APPLICATION_CLIENT_ID"), + client_secret=getenv("APPLICATION_CLIENT_SECRET"), + scope=scope, + login_form={"username": identifier}, +) + +authenticator = AuthorizationCodeAuthenticator(config=config) +print(authenticator.get_token()) diff --git a/scripts/poetry.lock b/scripts/poetry.lock new file mode 100644 index 00000000..49489cff --- /dev/null +++ b/scripts/poetry.lock @@ -0,0 +1,978 @@ +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "annotated-types" +version = "0.7.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, +] + +[[package]] +name = "authlib" +version = "1.6.5" +description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients." +optional = false +python-versions = ">=3.9" +files = [ + {file = "authlib-1.6.5-py2.py3-none-any.whl", hash = "sha256:3e0e0507807f842b02175507bdee8957a1d5707fd4afb17c32fb43fee90b6e3a"}, + {file = "authlib-1.6.5.tar.gz", hash = "sha256:6aaf9c79b7cc96c900f0b284061691c5d4e61221640a948fe690b556a6d6d10b"}, +] + +[package.dependencies] +cryptography = "*" + +[[package]] +name = "certifi" +version = "2025.11.12" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.7" +files = [ + {file = "certifi-2025.11.12-py3-none-any.whl", hash = "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b"}, + {file = "certifi-2025.11.12.tar.gz", hash = "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316"}, +] + +[[package]] +name = "cffi" +version = "2.0.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.9" +files = [ + {file = "cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44"}, + {file = "cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453"}, + {file = "cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495"}, + {file = "cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5"}, + {file = "cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb"}, + {file = "cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a"}, + {file = "cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739"}, + {file = "cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe"}, + {file = "cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26"}, + {file = "cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9"}, + {file = "cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414"}, + {file = "cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743"}, + {file = "cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5"}, + {file = "cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5"}, + {file = "cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d"}, + {file = "cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d"}, + {file = "cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba"}, + {file = "cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94"}, + {file = "cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187"}, + {file = "cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18"}, + {file = "cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5"}, + {file = "cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6"}, + {file = "cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb"}, + {file = "cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26"}, + {file = "cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c"}, + {file = "cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b"}, + {file = "cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27"}, + {file = "cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75"}, + {file = "cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91"}, + {file = "cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5"}, + {file = "cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13"}, + {file = "cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b"}, + {file = "cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c"}, + {file = "cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef"}, + {file = "cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775"}, + {file = "cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205"}, + {file = "cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1"}, + {file = "cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f"}, + {file = "cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25"}, + {file = "cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad"}, + {file = "cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9"}, + {file = "cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d"}, + {file = "cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c"}, + {file = "cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8"}, + {file = "cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc"}, + {file = "cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592"}, + {file = "cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512"}, + {file = "cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4"}, + {file = "cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e"}, + {file = "cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6"}, + {file = "cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9"}, + {file = "cffi-2.0.0-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf"}, + {file = "cffi-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63"}, + {file = "cffi-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2"}, + {file = "cffi-2.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65"}, + {file = "cffi-2.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322"}, + {file = "cffi-2.0.0-cp39-cp39-win32.whl", hash = "sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a"}, + {file = "cffi-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9"}, + {file = "cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529"}, +] + +[package.dependencies] +pycparser = {version = "*", markers = "implementation_name != \"PyPy\""} + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7" +files = [ + {file = "charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d"}, + {file = "charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016"}, + {file = "charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525"}, + {file = "charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14"}, + {file = "charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c"}, + {file = "charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-win32.whl", hash = "sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa"}, + {file = "charset_normalizer-3.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-win32.whl", hash = "sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966"}, + {file = "charset_normalizer-3.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50"}, + {file = "charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f"}, + {file = "charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a"}, +] + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "cryptography" +version = "46.0.3" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +optional = false +python-versions = "!=3.9.0,!=3.9.1,>=3.8" +files = [ + {file = "cryptography-46.0.3-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:109d4ddfadf17e8e7779c39f9b18111a09efb969a301a31e987416a0191ed93a"}, + {file = "cryptography-46.0.3-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:09859af8466b69bc3c27bdf4f5d84a665e0f7ab5088412e9e2ec49758eca5cbc"}, + {file = "cryptography-46.0.3-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:01ca9ff2885f3acc98c29f1860552e37f6d7c7d013d7334ff2a9de43a449315d"}, + {file = "cryptography-46.0.3-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6eae65d4c3d33da080cff9c4ab1f711b15c1d9760809dad6ea763f3812d254cb"}, + {file = "cryptography-46.0.3-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5bf0ed4490068a2e72ac03d786693adeb909981cc596425d09032d372bcc849"}, + {file = "cryptography-46.0.3-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:5ecfccd2329e37e9b7112a888e76d9feca2347f12f37918facbb893d7bb88ee8"}, + {file = "cryptography-46.0.3-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a2c0cd47381a3229c403062f764160d57d4d175e022c1df84e168c6251a22eec"}, + {file = "cryptography-46.0.3-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:549e234ff32571b1f4076ac269fcce7a808d3bf98b76c8dd560e42dbc66d7d91"}, + {file = "cryptography-46.0.3-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:c0a7bb1a68a5d3471880e264621346c48665b3bf1c3759d682fc0864c540bd9e"}, + {file = "cryptography-46.0.3-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:10b01676fc208c3e6feeb25a8b83d81767e8059e1fe86e1dc62d10a3018fa926"}, + {file = "cryptography-46.0.3-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0abf1ffd6e57c67e92af68330d05760b7b7efb243aab8377e583284dbab72c71"}, + {file = "cryptography-46.0.3-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a04bee9ab6a4da801eb9b51f1b708a1b5b5c9eb48c03f74198464c66f0d344ac"}, + {file = "cryptography-46.0.3-cp311-abi3-win32.whl", hash = "sha256:f260d0d41e9b4da1ed1e0f1ce571f97fe370b152ab18778e9e8f67d6af432018"}, + {file = "cryptography-46.0.3-cp311-abi3-win_amd64.whl", hash = "sha256:a9a3008438615669153eb86b26b61e09993921ebdd75385ddd748702c5adfddb"}, + {file = "cryptography-46.0.3-cp311-abi3-win_arm64.whl", hash = "sha256:5d7f93296ee28f68447397bf5198428c9aeeab45705a55d53a6343455dcb2c3c"}, + {file = "cryptography-46.0.3-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:00a5e7e87938e5ff9ff5447ab086a5706a957137e6e433841e9d24f38a065217"}, + {file = "cryptography-46.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c8daeb2d2174beb4575b77482320303f3d39b8e81153da4f0fb08eb5fe86a6c5"}, + {file = "cryptography-46.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39b6755623145ad5eff1dab323f4eae2a32a77a7abef2c5089a04a3d04366715"}, + {file = "cryptography-46.0.3-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:db391fa7c66df6762ee3f00c95a89e6d428f4d60e7abc8328f4fe155b5ac6e54"}, + {file = "cryptography-46.0.3-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:78a97cf6a8839a48c49271cdcbd5cf37ca2c1d6b7fdd86cc864f302b5e9bf459"}, + {file = "cryptography-46.0.3-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:dfb781ff7eaa91a6f7fd41776ec37c5853c795d3b358d4896fdbb5df168af422"}, + {file = "cryptography-46.0.3-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:6f61efb26e76c45c4a227835ddeae96d83624fb0d29eb5df5b96e14ed1a0afb7"}, + {file = "cryptography-46.0.3-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:23b1a8f26e43f47ceb6d6a43115f33a5a37d57df4ea0ca295b780ae8546e8044"}, + {file = "cryptography-46.0.3-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:b419ae593c86b87014b9be7396b385491ad7f320bde96826d0dd174459e54665"}, + {file = "cryptography-46.0.3-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:50fc3343ac490c6b08c0cf0d704e881d0d660be923fd3076db3e932007e726e3"}, + {file = "cryptography-46.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:22d7e97932f511d6b0b04f2bfd818d73dcd5928db509460aaf48384778eb6d20"}, + {file = "cryptography-46.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d55f3dffadd674514ad19451161118fd010988540cee43d8bc20675e775925de"}, + {file = "cryptography-46.0.3-cp314-cp314t-win32.whl", hash = "sha256:8a6e050cb6164d3f830453754094c086ff2d0b2f3a897a1d9820f6139a1f0914"}, + {file = "cryptography-46.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:760f83faa07f8b64e9c33fc963d790a2edb24efb479e3520c14a45741cd9b2db"}, + {file = "cryptography-46.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:516ea134e703e9fe26bcd1277a4b59ad30586ea90c365a87781d7887a646fe21"}, + {file = "cryptography-46.0.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:cb3d760a6117f621261d662bccc8ef5bc32ca673e037c83fbe565324f5c46936"}, + {file = "cryptography-46.0.3-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4b7387121ac7d15e550f5cb4a43aef2559ed759c35df7336c402bb8275ac9683"}, + {file = "cryptography-46.0.3-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:15ab9b093e8f09daab0f2159bb7e47532596075139dd74365da52ecc9cb46c5d"}, + {file = "cryptography-46.0.3-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:46acf53b40ea38f9c6c229599a4a13f0d46a6c3fa9ef19fc1a124d62e338dfa0"}, + {file = "cryptography-46.0.3-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10ca84c4668d066a9878890047f03546f3ae0a6b8b39b697457b7757aaf18dbc"}, + {file = "cryptography-46.0.3-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:36e627112085bb3b81b19fed209c05ce2a52ee8b15d161b7c643a7d5a88491f3"}, + {file = "cryptography-46.0.3-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1000713389b75c449a6e979ffc7dcc8ac90b437048766cef052d4d30b8220971"}, + {file = "cryptography-46.0.3-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:b02cf04496f6576afffef5ddd04a0cb7d49cf6be16a9059d793a30b035f6b6ac"}, + {file = "cryptography-46.0.3-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:71e842ec9bc7abf543b47cf86b9a743baa95f4677d22baa4c7d5c69e49e9bc04"}, + {file = "cryptography-46.0.3-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:402b58fc32614f00980b66d6e56a5b4118e6cb362ae8f3fda141ba4689bd4506"}, + {file = "cryptography-46.0.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ef639cb3372f69ec44915fafcd6698b6cc78fbe0c2ea41be867f6ed612811963"}, + {file = "cryptography-46.0.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3b51b8ca4f1c6453d8829e1eb7299499ca7f313900dd4d89a24b8b87c0a780d4"}, + {file = "cryptography-46.0.3-cp38-abi3-win32.whl", hash = "sha256:6276eb85ef938dc035d59b87c8a7dc559a232f954962520137529d77b18ff1df"}, + {file = "cryptography-46.0.3-cp38-abi3-win_amd64.whl", hash = "sha256:416260257577718c05135c55958b674000baef9a1c7d9e8f306ec60d71db850f"}, + {file = "cryptography-46.0.3-cp38-abi3-win_arm64.whl", hash = "sha256:d89c3468de4cdc4f08a57e214384d0471911a3830fcdaf7a8cc587e42a866372"}, + {file = "cryptography-46.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a23582810fedb8c0bc47524558fb6c56aac3fc252cb306072fd2815da2a47c32"}, + {file = "cryptography-46.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e7aec276d68421f9574040c26e2a7c3771060bc0cff408bae1dcb19d3ab1e63c"}, + {file = "cryptography-46.0.3-pp311-pypy311_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7ce938a99998ed3c8aa7e7272dca1a610401ede816d36d0693907d863b10d9ea"}, + {file = "cryptography-46.0.3-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:191bb60a7be5e6f54e30ba16fdfae78ad3a342a0599eb4193ba88e3f3d6e185b"}, + {file = "cryptography-46.0.3-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c70cc23f12726be8f8bc72e41d5065d77e4515efae3690326764ea1b07845cfb"}, + {file = "cryptography-46.0.3-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:9394673a9f4de09e28b5356e7fff97d778f8abad85c9d5ac4a4b7e25a0de7717"}, + {file = "cryptography-46.0.3-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:94cd0549accc38d1494e1f8de71eca837d0509d0d44bf11d158524b0e12cebf9"}, + {file = "cryptography-46.0.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:6b5063083824e5509fdba180721d55909ffacccc8adbec85268b48439423d78c"}, + {file = "cryptography-46.0.3.tar.gz", hash = "sha256:a8b17438104fed022ce745b362294d9ce35b4c2e45c1d958ad4a4b019285f4a1"}, +] + +[package.dependencies] +cffi = {version = ">=2.0.0", markers = "python_full_version >= \"3.9\" and platform_python_implementation != \"PyPy\""} + +[package.extras] +docs = ["sphinx (>=5.3.0)", "sphinx-inline-tabs", "sphinx-rtd-theme (>=3.0.0)"] +docstest = ["pyenchant (>=3)", "readme-renderer (>=30.0)", "sphinxcontrib-spelling (>=7.3.1)"] +nox = ["nox[uv] (>=2024.4.15)"] +pep8test = ["check-sdist", "click (>=8.0.1)", "mypy (>=1.14)", "ruff (>=0.11.11)"] +sdist = ["build (>=1.0.0)"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["certifi (>=2024)", "cryptography-vectors (==46.0.3)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"] +test-randomorder = ["pytest-randomly"] + +[[package]] +name = "idna" +version = "3.11" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"}, + {file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"}, +] + +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + +[[package]] +name = "iniconfig" +version = "2.3.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.10" +files = [ + {file = "iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12"}, + {file = "iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730"}, +] + +[[package]] +name = "lxml" +version = "5.4.0" +description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +optional = false +python-versions = ">=3.6" +files = [ + {file = "lxml-5.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e7bc6df34d42322c5289e37e9971d6ed114e3776b45fa879f734bded9d1fea9c"}, + {file = "lxml-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6854f8bd8a1536f8a1d9a3655e6354faa6406621cf857dc27b681b69860645c7"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:696ea9e87442467819ac22394ca36cb3d01848dad1be6fac3fb612d3bd5a12cf"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ef80aeac414f33c24b3815ecd560cee272786c3adfa5f31316d8b349bfade28"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b9c2754cef6963f3408ab381ea55f47dabc6f78f4b8ebb0f0b25cf1ac1f7609"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7a62cc23d754bb449d63ff35334acc9f5c02e6dae830d78dab4dd12b78a524f4"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f82125bc7203c5ae8633a7d5d20bcfdff0ba33e436e4ab0abc026a53a8960b7"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:b67319b4aef1a6c56576ff544b67a2a6fbd7eaee485b241cabf53115e8908b8f"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:a8ef956fce64c8551221f395ba21d0724fed6b9b6242ca4f2f7beb4ce2f41997"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:0a01ce7d8479dce84fc03324e3b0c9c90b1ece9a9bb6a1b6c9025e7e4520e78c"}, + {file = "lxml-5.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:91505d3ddebf268bb1588eb0f63821f738d20e1e7f05d3c647a5ca900288760b"}, + {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a3bcdde35d82ff385f4ede021df801b5c4a5bcdfb61ea87caabcebfc4945dc1b"}, + {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:aea7c06667b987787c7d1f5e1dfcd70419b711cdb47d6b4bb4ad4b76777a0563"}, + {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a7fb111eef4d05909b82152721a59c1b14d0f365e2be4c742a473c5d7372f4f5"}, + {file = "lxml-5.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:43d549b876ce64aa18b2328faff70f5877f8c6dede415f80a2f799d31644d776"}, + {file = "lxml-5.4.0-cp310-cp310-win32.whl", hash = "sha256:75133890e40d229d6c5837b0312abbe5bac1c342452cf0e12523477cd3aa21e7"}, + {file = "lxml-5.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:de5b4e1088523e2b6f730d0509a9a813355b7f5659d70eb4f319c76beea2e250"}, + {file = "lxml-5.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:98a3912194c079ef37e716ed228ae0dcb960992100461b704aea4e93af6b0bb9"}, + {file = "lxml-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ea0252b51d296a75f6118ed0d8696888e7403408ad42345d7dfd0d1e93309a7"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b92b69441d1bd39f4940f9eadfa417a25862242ca2c396b406f9272ef09cdcaa"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20e16c08254b9b6466526bc1828d9370ee6c0d60a4b64836bc3ac2917d1e16df"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7605c1c32c3d6e8c990dd28a0970a3cbbf1429d5b92279e37fda05fb0c92190e"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ecf4c4b83f1ab3d5a7ace10bafcb6f11df6156857a3c418244cef41ca9fa3e44"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cef4feae82709eed352cd7e97ae062ef6ae9c7b5dbe3663f104cd2c0e8d94ba"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:df53330a3bff250f10472ce96a9af28628ff1f4efc51ccba351a8820bca2a8ba"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:aefe1a7cb852fa61150fcb21a8c8fcea7b58c4cb11fbe59c97a0a4b31cae3c8c"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:ef5a7178fcc73b7d8c07229e89f8eb45b2908a9238eb90dcfc46571ccf0383b8"}, + {file = "lxml-5.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d2ed1b3cb9ff1c10e6e8b00941bb2e5bb568b307bfc6b17dffbbe8be5eecba86"}, + {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:72ac9762a9f8ce74c9eed4a4e74306f2f18613a6b71fa065495a67ac227b3056"}, + {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f5cb182f6396706dc6cc1896dd02b1c889d644c081b0cdec38747573db88a7d7"}, + {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:3a3178b4873df8ef9457a4875703488eb1622632a9cee6d76464b60e90adbfcd"}, + {file = "lxml-5.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e094ec83694b59d263802ed03a8384594fcce477ce484b0cbcd0008a211ca751"}, + {file = "lxml-5.4.0-cp311-cp311-win32.whl", hash = "sha256:4329422de653cdb2b72afa39b0aa04252fca9071550044904b2e7036d9d97fe4"}, + {file = "lxml-5.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd3be6481ef54b8cfd0e1e953323b7aa9d9789b94842d0e5b142ef4bb7999539"}, + {file = "lxml-5.4.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b5aff6f3e818e6bdbbb38e5967520f174b18f539c2b9de867b1e7fde6f8d95a4"}, + {file = "lxml-5.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942a5d73f739ad7c452bf739a62a0f83e2578afd6b8e5406308731f4ce78b16d"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:460508a4b07364d6abf53acaa0a90b6d370fafde5693ef37602566613a9b0779"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:529024ab3a505fed78fe3cc5ddc079464e709f6c892733e3f5842007cec8ac6e"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ca56ebc2c474e8f3d5761debfd9283b8b18c76c4fc0967b74aeafba1f5647f9"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a81e1196f0a5b4167a8dafe3a66aa67c4addac1b22dc47947abd5d5c7a3f24b5"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00b8686694423ddae324cf614e1b9659c2edb754de617703c3d29ff568448df5"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:c5681160758d3f6ac5b4fea370495c48aac0989d6a0f01bb9a72ad8ef5ab75c4"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:2dc191e60425ad70e75a68c9fd90ab284df64d9cd410ba8d2b641c0c45bc006e"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:67f779374c6b9753ae0a0195a892a1c234ce8416e4448fe1e9f34746482070a7"}, + {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:79d5bfa9c1b455336f52343130b2067164040604e41f6dc4d8313867ed540079"}, + {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d3c30ba1c9b48c68489dc1829a6eede9873f52edca1dda900066542528d6b20"}, + {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1af80c6316ae68aded77e91cd9d80648f7dd40406cef73df841aa3c36f6907c8"}, + {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4d885698f5019abe0de3d352caf9466d5de2baded00a06ef3f1216c1a58ae78f"}, + {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea53d51859b6c64e7c51d522c03cc2c48b9b5d6172126854cc7f01aa11f52bc"}, + {file = "lxml-5.4.0-cp312-cp312-win32.whl", hash = "sha256:d90b729fd2732df28130c064aac9bb8aff14ba20baa4aee7bd0795ff1187545f"}, + {file = "lxml-5.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1dc4ca99e89c335a7ed47d38964abcb36c5910790f9bd106f2a8fa2ee0b909d2"}, + {file = "lxml-5.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:773e27b62920199c6197130632c18fb7ead3257fce1ffb7d286912e56ddb79e0"}, + {file = "lxml-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ce9c671845de9699904b1e9df95acfe8dfc183f2310f163cdaa91a3535af95de"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9454b8d8200ec99a224df8854786262b1bd6461f4280064c807303c642c05e76"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cccd007d5c95279e529c146d095f1d39ac05139de26c098166c4beb9374b0f4d"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0fce1294a0497edb034cb416ad3e77ecc89b313cff7adbee5334e4dc0d11f422"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:24974f774f3a78ac12b95e3a20ef0931795ff04dbb16db81a90c37f589819551"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:497cab4d8254c2a90bf988f162ace2ddbfdd806fce3bda3f581b9d24c852e03c"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:e794f698ae4c5084414efea0f5cc9f4ac562ec02d66e1484ff822ef97c2cadff"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:2c62891b1ea3094bb12097822b3d44b93fc6c325f2043c4d2736a8ff09e65f60"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:142accb3e4d1edae4b392bd165a9abdee8a3c432a2cca193df995bc3886249c8"}, + {file = "lxml-5.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1a42b3a19346e5601d1b8296ff6ef3d76038058f311902edd574461e9c036982"}, + {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4291d3c409a17febf817259cb37bc62cb7eb398bcc95c1356947e2871911ae61"}, + {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4f5322cf38fe0e21c2d73901abf68e6329dc02a4994e483adbcf92b568a09a54"}, + {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0be91891bdb06ebe65122aa6bf3fc94489960cf7e03033c6f83a90863b23c58b"}, + {file = "lxml-5.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:15a665ad90054a3d4f397bc40f73948d48e36e4c09f9bcffc7d90c87410e478a"}, + {file = "lxml-5.4.0-cp313-cp313-win32.whl", hash = "sha256:d5663bc1b471c79f5c833cffbc9b87d7bf13f87e055a5c86c363ccd2348d7e82"}, + {file = "lxml-5.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:bcb7a1096b4b6b24ce1ac24d4942ad98f983cd3810f9711bcd0293f43a9d8b9f"}, + {file = "lxml-5.4.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7be701c24e7f843e6788353c055d806e8bd8466b52907bafe5d13ec6a6dbaecd"}, + {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb54f7c6bafaa808f27166569b1511fc42701a7713858dddc08afdde9746849e"}, + {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97dac543661e84a284502e0cf8a67b5c711b0ad5fb661d1bd505c02f8cf716d7"}, + {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:c70e93fba207106cb16bf852e421c37bbded92acd5964390aad07cb50d60f5cf"}, + {file = "lxml-5.4.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9c886b481aefdf818ad44846145f6eaf373a20d200b5ce1a5c8e1bc2d8745410"}, + {file = "lxml-5.4.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:fa0e294046de09acd6146be0ed6727d1f42ded4ce3ea1e9a19c11b6774eea27c"}, + {file = "lxml-5.4.0-cp36-cp36m-win32.whl", hash = "sha256:61c7bbf432f09ee44b1ccaa24896d21075e533cd01477966a5ff5a71d88b2f56"}, + {file = "lxml-5.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7ce1a171ec325192c6a636b64c94418e71a1964f56d002cc28122fceff0b6121"}, + {file = "lxml-5.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:795f61bcaf8770e1b37eec24edf9771b307df3af74d1d6f27d812e15a9ff3872"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29f451a4b614a7b5b6c2e043d7b64a15bd8304d7e767055e8ab68387a8cacf4e"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:891f7f991a68d20c75cb13c5c9142b2a3f9eb161f1f12a9489c82172d1f133c0"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4aa412a82e460571fad592d0f93ce9935a20090029ba08eca05c614f99b0cc92"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:ac7ba71f9561cd7d7b55e1ea5511543c0282e2b6450f122672a2694621d63b7e"}, + {file = "lxml-5.4.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:c5d32f5284012deaccd37da1e2cd42f081feaa76981f0eaa474351b68df813c5"}, + {file = "lxml-5.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:ce31158630a6ac85bddd6b830cffd46085ff90498b397bd0a259f59d27a12188"}, + {file = "lxml-5.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:31e63621e073e04697c1b2d23fcb89991790eef370ec37ce4d5d469f40924ed6"}, + {file = "lxml-5.4.0-cp37-cp37m-win32.whl", hash = "sha256:be2ba4c3c5b7900246a8f866580700ef0d538f2ca32535e991027bdaba944063"}, + {file = "lxml-5.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:09846782b1ef650b321484ad429217f5154da4d6e786636c38e434fa32e94e49"}, + {file = "lxml-5.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eaf24066ad0b30917186420d51e2e3edf4b0e2ea68d8cd885b14dc8afdcf6556"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b31a3a77501d86d8ade128abb01082724c0dfd9524f542f2f07d693c9f1175f"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e108352e203c7afd0eb91d782582f00a0b16a948d204d4dec8565024fafeea5"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11a96c3b3f7551c8a8109aa65e8594e551d5a84c76bf950da33d0fb6dfafab7"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:ca755eebf0d9e62d6cb013f1261e510317a41bf4650f22963474a663fdfe02aa"}, + {file = "lxml-5.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:4cd915c0fb1bed47b5e6d6edd424ac25856252f09120e3e8ba5154b6b921860e"}, + {file = "lxml-5.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:226046e386556a45ebc787871d6d2467b32c37ce76c2680f5c608e25823ffc84"}, + {file = "lxml-5.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b108134b9667bcd71236c5a02aad5ddd073e372fb5d48ea74853e009fe38acb6"}, + {file = "lxml-5.4.0-cp38-cp38-win32.whl", hash = "sha256:1320091caa89805df7dcb9e908add28166113dcd062590668514dbd510798c88"}, + {file = "lxml-5.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:073eb6dcdf1f587d9b88c8c93528b57eccda40209cf9be549d469b942b41d70b"}, + {file = "lxml-5.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bda3ea44c39eb74e2488297bb39d47186ed01342f0022c8ff407c250ac3f498e"}, + {file = "lxml-5.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9ceaf423b50ecfc23ca00b7f50b64baba85fb3fb91c53e2c9d00bc86150c7e40"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:664cdc733bc87449fe781dbb1f309090966c11cc0c0cd7b84af956a02a8a4729"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67ed8a40665b84d161bae3181aa2763beea3747f748bca5874b4af4d75998f87"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b4a3bd174cc9cdaa1afbc4620c049038b441d6ba07629d89a83b408e54c35cd"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:b0989737a3ba6cf2a16efb857fb0dfa20bc5c542737fddb6d893fde48be45433"}, + {file = "lxml-5.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:dc0af80267edc68adf85f2a5d9be1cdf062f973db6790c1d065e45025fa26140"}, + {file = "lxml-5.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:639978bccb04c42677db43c79bdaa23785dc7f9b83bfd87570da8207872f1ce5"}, + {file = "lxml-5.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a99d86351f9c15e4a901fc56404b485b1462039db59288b203f8c629260a142"}, + {file = "lxml-5.4.0-cp39-cp39-win32.whl", hash = "sha256:3e6d5557989cdc3ebb5302bbdc42b439733a841891762ded9514e74f60319ad6"}, + {file = "lxml-5.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:a8c9b7f16b63e65bbba889acb436a1034a82d34fa09752d754f88d708eca80e1"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1b717b00a71b901b4667226bba282dd462c42ccf618ade12f9ba3674e1fabc55"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27a9ded0f0b52098ff89dd4c418325b987feed2ea5cc86e8860b0f844285d740"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b7ce10634113651d6f383aa712a194179dcd496bd8c41e191cec2099fa09de5"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53370c26500d22b45182f98847243efb518d268374a9570409d2e2276232fd37"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c6364038c519dffdbe07e3cf42e6a7f8b90c275d4d1617a69bb59734c1a2d571"}, + {file = "lxml-5.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b12cb6527599808ada9eb2cd6e0e7d3d8f13fe7bbb01c6311255a15ded4c7ab4"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5f11a1526ebd0dee85e7b1e39e39a0cc0d9d03fb527f56d8457f6df48a10dc0c"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48b4afaf38bf79109bb060d9016fad014a9a48fb244e11b94f74ae366a64d252"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de6f6bb8a7840c7bf216fb83eec4e2f79f7325eca8858167b68708b929ab2172"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5cca36a194a4eb4e2ed6be36923d3cffd03dcdf477515dea687185506583d4c9"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b7c86884ad23d61b025989d99bfdd92a7351de956e01c61307cb87035960bcb1"}, + {file = "lxml-5.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:53d9469ab5460402c19553b56c3648746774ecd0681b1b27ea74d5d8a3ef5590"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:56dbdbab0551532bb26c19c914848d7251d73edb507c3079d6805fa8bba5b706"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14479c2ad1cb08b62bb941ba8e0e05938524ee3c3114644df905d2331c76cd57"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32697d2ea994e0db19c1df9e40275ffe84973e4232b5c274f47e7c1ec9763cdd"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:24f6df5f24fc3385f622c0c9d63fe34604893bc1a5bdbb2dbf5870f85f9a404a"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:151d6c40bc9db11e960619d2bf2ec5829f0aaffb10b41dcf6ad2ce0f3c0b2325"}, + {file = "lxml-5.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4025bf2884ac4370a3243c5aa8d66d3cb9e15d3ddd0af2d796eccc5f0244390e"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9459e6892f59ecea2e2584ee1058f5d8f629446eab52ba2305ae13a32a059530"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47fb24cc0f052f0576ea382872b3fc7e1f7e3028e53299ea751839418ade92a6"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50441c9de951a153c698b9b99992e806b71c1f36d14b154592580ff4a9d0d877"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ab339536aa798b1e17750733663d272038bf28069761d5be57cb4a9b0137b4f8"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9776af1aad5a4b4a1317242ee2bea51da54b2a7b7b48674be736d463c999f37d"}, + {file = "lxml-5.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:63e7968ff83da2eb6fdda967483a7a023aa497d85ad8f05c3ad9b1f2e8c84987"}, + {file = "lxml-5.4.0.tar.gz", hash = "sha256:d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd"}, +] + +[package.extras] +cssselect = ["cssselect (>=0.7)"] +html-clean = ["lxml_html_clean"] +html5 = ["html5lib"] +htmlsoup = ["BeautifulSoup4"] +source = ["Cython (>=3.0.11,<3.1.0)"] + +[[package]] +name = "packaging" +version = "25.0" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, + {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, + {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["coverage", "pytest", "pytest-benchmark"] + +[[package]] +name = "pycparser" +version = "2.23" +description = "C parser in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934"}, + {file = "pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2"}, +] + +[[package]] +name = "pycryptodome" +version = "3.23.0" +description = "Cryptographic library for Python" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "pycryptodome-3.23.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a176b79c49af27d7f6c12e4b178b0824626f40a7b9fed08f712291b6d54bf566"}, + {file = "pycryptodome-3.23.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:573a0b3017e06f2cffd27d92ef22e46aa3be87a2d317a5abf7cc0e84e321bd75"}, + {file = "pycryptodome-3.23.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:63dad881b99ca653302b2c7191998dd677226222a3f2ea79999aa51ce695f720"}, + {file = "pycryptodome-3.23.0-cp27-cp27m-win32.whl", hash = "sha256:b34e8e11d97889df57166eda1e1ddd7676da5fcd4d71a0062a760e75060514b4"}, + {file = "pycryptodome-3.23.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:7ac1080a8da569bde76c0a104589c4f414b8ba296c0b3738cf39a466a9fb1818"}, + {file = "pycryptodome-3.23.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:6fe8258e2039eceb74dfec66b3672552b6b7d2c235b2dfecc05d16b8921649a8"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:0011f7f00cdb74879142011f95133274741778abba114ceca229adbf8e62c3e4"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:90460fc9e088ce095f9ee8356722d4f10f86e5be06e2354230a9880b9c549aae"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4764e64b269fc83b00f682c47443c2e6e85b18273712b98aa43bcb77f8570477"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb8f24adb74984aa0e5d07a2368ad95276cf38051fe2dc6605cbcf482e04f2a7"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d97618c9c6684a97ef7637ba43bdf6663a2e2e77efe0f863cce97a76af396446"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9a53a4fe5cb075075d515797d6ce2f56772ea7e6a1e5e4b96cf78a14bac3d265"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:763d1d74f56f031788e5d307029caef067febf890cd1f8bf61183ae142f1a77b"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:954af0e2bd7cea83ce72243b14e4fb518b18f0c1649b576d114973e2073b273d"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-win32.whl", hash = "sha256:257bb3572c63ad8ba40b89f6fc9d63a2a628e9f9708d31ee26560925ebe0210a"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:6501790c5b62a29fcb227bd6b62012181d886a767ce9ed03b303d1f22eb5c625"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-win_arm64.whl", hash = "sha256:9a77627a330ab23ca43b48b130e202582e91cc69619947840ea4d2d1be21eb39"}, + {file = "pycryptodome-3.23.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:187058ab80b3281b1de11c2e6842a357a1f71b42cb1e15bce373f3d238135c27"}, + {file = "pycryptodome-3.23.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:cfb5cd445280c5b0a4e6187a7ce8de5a07b5f3f897f235caa11f1f435f182843"}, + {file = "pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67bd81fcbe34f43ad9422ee8fd4843c8e7198dd88dd3d40e6de42ee65fbe1490"}, + {file = "pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575"}, + {file = "pycryptodome-3.23.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa0698f65e5b570426fc31b8162ed4603b0c2841cbb9088e2b01641e3065915b"}, + {file = "pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:53ecbafc2b55353edcebd64bf5da94a2a2cdf5090a6915bcca6eca6cc452585a"}, + {file = "pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:156df9667ad9f2ad26255926524e1c136d6664b741547deb0a86a9acf5ea631f"}, + {file = "pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:dea827b4d55ee390dc89b2afe5927d4308a8b538ae91d9c6f7a5090f397af1aa"}, + {file = "pycryptodome-3.23.0-cp37-abi3-win32.whl", hash = "sha256:507dbead45474b62b2bbe318eb1c4c8ee641077532067fec9c1aa82c31f84886"}, + {file = "pycryptodome-3.23.0-cp37-abi3-win_amd64.whl", hash = "sha256:c75b52aacc6c0c260f204cbdd834f76edc9fb0d8e0da9fbf8352ef58202564e2"}, + {file = "pycryptodome-3.23.0-cp37-abi3-win_arm64.whl", hash = "sha256:11eeeb6917903876f134b56ba11abe95c0b0fd5e3330def218083c7d98bbcb3c"}, + {file = "pycryptodome-3.23.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:350ebc1eba1da729b35ab7627a833a1a355ee4e852d8ba0447fafe7b14504d56"}, + {file = "pycryptodome-3.23.0-pp27-pypy_73-win32.whl", hash = "sha256:93837e379a3e5fd2bb00302a47aee9fdf7940d83595be3915752c74033d17ca7"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ddb95b49df036ddd264a0ad246d1be5b672000f12d6961ea2c267083a5e19379"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e95564beb8782abfd9e431c974e14563a794a4944c29d6d3b7b5ea042110b4"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14e15c081e912c4b0d75632acd8382dfce45b258667aa3c67caf7a4d4c13f630"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7fc76bf273353dc7e5207d172b83f569540fc9a28d63171061c42e361d22353"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:45c69ad715ca1a94f778215a11e66b7ff989d792a4d63b68dc586a1da1392ff5"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:865d83c906b0fc6a59b510deceee656b6bc1c4fa0d82176e2b77e97a420a996a"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89d4d56153efc4d81defe8b65fd0821ef8b2d5ddf8ed19df31ba2f00872b8002"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3f2d0aaf8080bda0587d58fc9fe4766e012441e2eed4269a77de6aea981c8be"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64093fc334c1eccfd3933c134c4457c34eaca235eeae49d69449dc4728079339"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ce64e84a962b63a47a592690bdc16a7eaf709d2c2697ababf24a0def566899a6"}, + {file = "pycryptodome-3.23.0.tar.gz", hash = "sha256:447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef"}, +] + +[[package]] +name = "pydantic" +version = "2.12.5" +description = "Data validation using Python type hints" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d"}, + {file = "pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49"}, +] + +[package.dependencies] +annotated-types = ">=0.6.0" +pydantic-core = "2.41.5" +typing-extensions = ">=4.14.1" +typing-inspection = ">=0.4.2" + +[package.extras] +email = ["email-validator (>=2.0.0)"] +timezone = ["tzdata"] + +[[package]] +name = "pydantic-core" +version = "2.41.5" +description = "Core functionality for Pydantic validation and serialization" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pydantic_core-2.41.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:77b63866ca88d804225eaa4af3e664c5faf3568cea95360d21f4725ab6e07146"}, + {file = "pydantic_core-2.41.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dfa8a0c812ac681395907e71e1274819dec685fec28273a28905df579ef137e2"}, + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5921a4d3ca3aee735d9fd163808f5e8dd6c6972101e4adbda9a4667908849b97"}, + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e25c479382d26a2a41b7ebea1043564a937db462816ea07afa8a44c0866d52f9"}, + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f547144f2966e1e16ae626d8ce72b4cfa0caedc7fa28052001c94fb2fcaa1c52"}, + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f52298fbd394f9ed112d56f3d11aabd0d5bd27beb3084cc3d8ad069483b8941"}, + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:100baa204bb412b74fe285fb0f3a385256dad1d1879f0a5cb1499ed2e83d132a"}, + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:05a2c8852530ad2812cb7914dc61a1125dc4e06252ee98e5638a12da6cc6fb6c"}, + {file = "pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:29452c56df2ed968d18d7e21f4ab0ac55e71dc59524872f6fc57dcf4a3249ed2"}, + {file = "pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:d5160812ea7a8a2ffbe233d8da666880cad0cbaf5d4de74ae15c313213d62556"}, + {file = "pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:df3959765b553b9440adfd3c795617c352154e497a4eaf3752555cfb5da8fc49"}, + {file = "pydantic_core-2.41.5-cp310-cp310-win32.whl", hash = "sha256:1f8d33a7f4d5a7889e60dc39856d76d09333d8a6ed0f5f1190635cbec70ec4ba"}, + {file = "pydantic_core-2.41.5-cp310-cp310-win_amd64.whl", hash = "sha256:62de39db01b8d593e45871af2af9e497295db8d73b085f6bfd0b18c83c70a8f9"}, + {file = "pydantic_core-2.41.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a3a52f6156e73e7ccb0f8cced536adccb7042be67cb45f9562e12b319c119da6"}, + {file = "pydantic_core-2.41.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7f3bf998340c6d4b0c9a2f02d6a400e51f123b59565d74dc60d252ce888c260b"}, + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:378bec5c66998815d224c9ca994f1e14c0c21cb95d2f52b6021cc0b2a58f2a5a"}, + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7b576130c69225432866fe2f4a469a85a54ade141d96fd396dffcf607b558f8"}, + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cb58b9c66f7e4179a2d5e0f849c48eff5c1fca560994d6eb6543abf955a149e"}, + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88942d3a3dff3afc8288c21e565e476fc278902ae4d6d134f1eeda118cc830b1"}, + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f31d95a179f8d64d90f6831d71fa93290893a33148d890ba15de25642c5d075b"}, + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c1df3d34aced70add6f867a8cf413e299177e0c22660cc767218373d0779487b"}, + {file = "pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4009935984bd36bd2c774e13f9a09563ce8de4abaa7226f5108262fa3e637284"}, + {file = "pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:34a64bc3441dc1213096a20fe27e8e128bd3ff89921706e83c0b1ac971276594"}, + {file = "pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c9e19dd6e28fdcaa5a1de679aec4141f691023916427ef9bae8584f9c2fb3b0e"}, + {file = "pydantic_core-2.41.5-cp311-cp311-win32.whl", hash = "sha256:2c010c6ded393148374c0f6f0bf89d206bf3217f201faa0635dcd56bd1520f6b"}, + {file = "pydantic_core-2.41.5-cp311-cp311-win_amd64.whl", hash = "sha256:76ee27c6e9c7f16f47db7a94157112a2f3a00e958bc626e2f4ee8bec5c328fbe"}, + {file = "pydantic_core-2.41.5-cp311-cp311-win_arm64.whl", hash = "sha256:4bc36bbc0b7584de96561184ad7f012478987882ebf9f9c389b23f432ea3d90f"}, + {file = "pydantic_core-2.41.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7"}, + {file = "pydantic_core-2.41.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0"}, + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69"}, + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75"}, + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05"}, + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc"}, + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c"}, + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5"}, + {file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c"}, + {file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294"}, + {file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1"}, + {file = "pydantic_core-2.41.5-cp312-cp312-win32.whl", hash = "sha256:b74557b16e390ec12dca509bce9264c3bbd128f8a2c376eaa68003d7f327276d"}, + {file = "pydantic_core-2.41.5-cp312-cp312-win_amd64.whl", hash = "sha256:1962293292865bca8e54702b08a4f26da73adc83dd1fcf26fbc875b35d81c815"}, + {file = "pydantic_core-2.41.5-cp312-cp312-win_arm64.whl", hash = "sha256:1746d4a3d9a794cacae06a5eaaccb4b8643a131d45fbc9af23e353dc0a5ba5c3"}, + {file = "pydantic_core-2.41.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9"}, + {file = "pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34"}, + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0"}, + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33"}, + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e"}, + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2"}, + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586"}, + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d"}, + {file = "pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740"}, + {file = "pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e"}, + {file = "pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858"}, + {file = "pydantic_core-2.41.5-cp313-cp313-win32.whl", hash = "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36"}, + {file = "pydantic_core-2.41.5-cp313-cp313-win_amd64.whl", hash = "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11"}, + {file = "pydantic_core-2.41.5-cp313-cp313-win_arm64.whl", hash = "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd"}, + {file = "pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a"}, + {file = "pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14"}, + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1"}, + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66"}, + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869"}, + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2"}, + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375"}, + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553"}, + {file = "pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90"}, + {file = "pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07"}, + {file = "pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb"}, + {file = "pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23"}, + {file = "pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf"}, + {file = "pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c"}, + {file = "pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008"}, + {file = "pydantic_core-2.41.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:8bfeaf8735be79f225f3fefab7f941c712aaca36f1128c9d7e2352ee1aa87bdf"}, + {file = "pydantic_core-2.41.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:346285d28e4c8017da95144c7f3acd42740d637ff41946af5ce6e5e420502dd5"}, + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a75dafbf87d6276ddc5b2bf6fae5254e3d0876b626eb24969a574fff9149ee5d"}, + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b93a4d08587e2b7e7882de461e82b6ed76d9026ce91ca7915e740ecc7855f60"}, + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e8465ab91a4bd96d36dde3263f06caa6a8a6019e4113f24dc753d79a8b3a3f82"}, + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:299e0a22e7ae2b85c1a57f104538b2656e8ab1873511fd718a1c1c6f149b77b5"}, + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:707625ef0983fcfb461acfaf14de2067c5942c6bb0f3b4c99158bed6fedd3cf3"}, + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f41eb9797986d6ebac5e8edff36d5cef9de40def462311b3eb3eeded1431e425"}, + {file = "pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0384e2e1021894b1ff5a786dbf94771e2986ebe2869533874d7e43bc79c6f504"}, + {file = "pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:f0cd744688278965817fd0839c4a4116add48d23890d468bc436f78beb28abf5"}, + {file = "pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:753e230374206729bf0a807954bcc6c150d3743928a73faffee51ac6557a03c3"}, + {file = "pydantic_core-2.41.5-cp39-cp39-win32.whl", hash = "sha256:873e0d5b4fb9b89ef7c2d2a963ea7d02879d9da0da8d9d4933dee8ee86a8b460"}, + {file = "pydantic_core-2.41.5-cp39-cp39-win_amd64.whl", hash = "sha256:e4f4a984405e91527a0d62649ee21138f8e3d0ef103be488c1dc11a80d7f184b"}, + {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:b96d5f26b05d03cc60f11a7761a5ded1741da411e7fe0909e27a5e6a0cb7b034"}, + {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:634e8609e89ceecea15e2d61bc9ac3718caaaa71963717bf3c8f38bfde64242c"}, + {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93e8740d7503eb008aa2df04d3b9735f845d43ae845e6dcd2be0b55a2da43cd2"}, + {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15489ba13d61f670dcc96772e733aad1a6f9c429cc27574c6cdaed82d0146ad"}, + {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:7da7087d756b19037bc2c06edc6c170eeef3c3bafcb8f532ff17d64dc427adfd"}, + {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:aabf5777b5c8ca26f7824cb4a120a740c9588ed58df9b2d196ce92fba42ff8dc"}, + {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c007fe8a43d43b3969e8469004e9845944f1a80e6acd47c150856bb87f230c56"}, + {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76d0819de158cd855d1cbb8fcafdf6f5cf1eb8e470abe056d5d161106e38062b"}, + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b5819cd790dbf0c5eb9f82c73c16b39a65dd6dd4d1439dcdea7816ec9adddab8"}, + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5a4e67afbc95fa5c34cf27d9089bca7fcab4e51e57278d710320a70b956d1b9a"}, + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ece5c59f0ce7d001e017643d8d24da587ea1f74f6993467d85ae8a5ef9d4f42b"}, + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16f80f7abe3351f8ea6858914ddc8c77e02578544a0ebc15b4c2e1a0e813b0b2"}, + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:33cb885e759a705b426baada1fe68cbb0a2e68e34c5d0d0289a364cf01709093"}, + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:c8d8b4eb992936023be7dee581270af5c6e0697a8559895f527f5b7105ecd36a"}, + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:242a206cd0318f95cd21bdacff3fcc3aab23e79bba5cac3db5a841c9ef9c6963"}, + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d3a978c4f57a597908b7e697229d996d77a6d3c94901e9edee593adada95ce1a"}, + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b2379fa7ed44ddecb5bfe4e48577d752db9fc10be00a6b7446e9663ba143de26"}, + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:266fb4cbf5e3cbd0b53669a6d1b039c45e3ce651fd5442eff4d07c2cc8d66808"}, + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58133647260ea01e4d0500089a8c4f07bd7aa6ce109682b1426394988d8aaacc"}, + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:287dad91cfb551c363dc62899a80e9e14da1f0e2b6ebde82c806612ca2a13ef1"}, + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:03b77d184b9eb40240ae9fd676ca364ce1085f203e1b1256f8ab9984dca80a84"}, + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:a668ce24de96165bb239160b3d854943128f4334822900534f2fe947930e5770"}, + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f14f8f046c14563f8eb3f45f499cc658ab8d10072961e07225e507adb700e93f"}, + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56121965f7a4dc965bff783d70b907ddf3d57f6eba29b6d2e5dabfaf07799c51"}, + {file = "pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e"}, +] + +[package.dependencies] +typing-extensions = ">=4.14.1" + +[[package]] +name = "pydantic-settings" +version = "2.12.0" +description = "Settings management using Pydantic" +optional = false +python-versions = ">=3.10" +files = [ + {file = "pydantic_settings-2.12.0-py3-none-any.whl", hash = "sha256:fddb9fd99a5b18da837b29710391e945b1e30c135477f484084ee513adb93809"}, + {file = "pydantic_settings-2.12.0.tar.gz", hash = "sha256:005538ef951e3c2a68e1c08b292b5f2e71490def8589d4221b95dab00dafcfd0"}, +] + +[package.dependencies] +pydantic = ">=2.7.0" +python-dotenv = ">=0.21.0" +typing-inspection = ">=0.4.0" + +[package.extras] +aws-secrets-manager = ["boto3 (>=1.35.0)", "boto3-stubs[secretsmanager]"] +azure-key-vault = ["azure-identity (>=1.16.0)", "azure-keyvault-secrets (>=4.8.0)"] +gcp-secret-manager = ["google-cloud-secret-manager (>=2.23.1)"] +toml = ["tomli (>=2.0.1)"] +yaml = ["pyyaml (>=6.0.1)"] + +[[package]] +name = "pygments" +version = "2.19.2" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"}, + {file = "pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887"}, +] + +[package.extras] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pyjwt" +version = "2.10.1" +description = "JSON Web Token implementation in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb"}, + {file = "pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953"}, +] + +[package.extras] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] +tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] + +[[package]] +name = "pyotp" +version = "2.9.0" +description = "Python One Time Password Library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyotp-2.9.0-py3-none-any.whl", hash = "sha256:81c2e5865b8ac55e825b0358e496e1d9387c811e85bb40e71a3b29b288963612"}, + {file = "pyotp-2.9.0.tar.gz", hash = "sha256:346b6642e0dbdde3b4ff5a930b664ca82abfa116356ed48cc42c7d6590d36f63"}, +] + +[package.extras] +test = ["coverage", "mypy", "ruff", "wheel"] + +[[package]] +name = "pytest" +version = "8.4.2" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79"}, + {file = "pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01"}, +] + +[package.dependencies] +colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""} +iniconfig = ">=1" +packaging = ">=20" +pluggy = ">=1.5,<2" +pygments = ">=2.7.2" + +[package.extras] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "pytest-nhsd-apim" +version = "5.0.6" +description = "Pytest plugin accessing NHSDigital's APIM proxies" +optional = false +python-versions = "<4.0,>=3.8" +files = [ + {file = "pytest_nhsd_apim-5.0.6-py3-none-any.whl", hash = "sha256:b562297c62594275dcce5b08187d7cea4f56e2704f2354f1beb80c8f3db8202e"}, + {file = "pytest_nhsd_apim-5.0.6.tar.gz", hash = "sha256:77be049fe6f840c7b37bb7607ee1650ef6cea17806c29051eab5721c6b272be4"}, +] + +[package.dependencies] +Authlib = ">=1.3.1,<2.0.0" +cryptography = ">42.0.0" +lxml = ">=5.3.1,<6.0.0" +pycryptodome = ">=3.20.0,<4.0.0" +pydantic = ">=2.9.2,<3.0.0" +pydantic-settings = ">=2.2.1,<3.0.0" +PyJWT = ">=2.8.0,<3.0.0" +pyotp = ">=2.9.0,<3.0.0" +pytest = ">=8.2.0,<9.0.0" +requests = ">=2.32.0,<3.0.0" +toml = ">=0.10.2,<0.11.0" +typing-extensions = ">=4.11.0,<5.0.0" +wheel = ">=0.37.1,<0.39.0" + +[[package]] +name = "python-dotenv" +version = "1.2.1" +description = "Read key-value pairs from a .env file and set them as environment variables" +optional = false +python-versions = ">=3.9" +files = [ + {file = "python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61"}, + {file = "python_dotenv-1.2.1.tar.gz", hash = "sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6"}, +] + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "requests" +version = "2.32.5" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.9" +files = [ + {file = "requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6"}, + {file = "requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset_normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +description = "Backported and Experimental Type Hints for Python 3.9+" +optional = false +python-versions = ">=3.9" +files = [ + {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, + {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +description = "Runtime typing introspection tools" +optional = false +python-versions = ">=3.9" +files = [ + {file = "typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7"}, + {file = "typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464"}, +] + +[package.dependencies] +typing-extensions = ">=4.12.0" + +[[package]] +name = "urllib3" +version = "2.6.0" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.9" +files = [ + {file = "urllib3-2.6.0-py3-none-any.whl", hash = "sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f"}, + {file = "urllib3-2.6.0.tar.gz", hash = "sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1"}, +] + +[package.extras] +brotli = ["brotli (>=1.2.0)", "brotlicffi (>=1.2.0.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["backports-zstd (>=1.0.0)"] + +[[package]] +name = "wheel" +version = "0.38.4" +description = "A built-package format for Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "wheel-0.38.4-py3-none-any.whl", hash = "sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8"}, + {file = "wheel-0.38.4.tar.gz", hash = "sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac"}, +] + +[package.extras] +test = ["pytest (>=3.0.0)"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.12" +content-hash = "c183564b3e80b78d90779d28724d530d63869f1e56415eb3925a958c5d9cdd55" diff --git a/scripts/pyproject.toml b/scripts/pyproject.toml new file mode 100644 index 00000000..57fa394e --- /dev/null +++ b/scripts/pyproject.toml @@ -0,0 +1,13 @@ +[tool.poetry] +name = "scripts" +readme = "README.md" +package-mode = false + +[tool.poetry.dependencies] +python = "^3.12" +pytest-nhsd-apim = "^5.0.0" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/specification/validated-relationships-service-api.yaml b/specification/validated-relationships-service-api.yaml index 0289eee0..178e2aa0 100644 --- a/specification/validated-relationships-service-api.yaml +++ b/specification/validated-relationships-service-api.yaml @@ -142,6 +142,7 @@ info: * is open access, so does not allow you to test authorisation [Run In Postman](https://app.getpostman.com/run-collection/44536620-12af1681-48d5-410b-8597-78eed58bee68?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D44536620-12af1681-48d5-410b-8597-78eed58bee68%26entityType%3Dcollection%26workspaceId%3D978bc90c-e3e8-4c4e-a472-00bd35cbc4cb) + ### Integration testing Our [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing) @@ -149,6 +150,8 @@ info: * is for formal integration testing * includes authorisation with NHS Login + [Run In Postman](https://app.getpostman.com/run-collection/18067099-c3ee07a1-47e5-43f7-96f9-5e56d403af45?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D18067099-c3ee07a1-47e5-43f7-96f9-5e56d403af45%26entityType%3Dcollection%26workspaceId%3D082e43b8-9a51-4a16-af66-0d2b233cd69c#?env%5BINT%5D=W3sia2V5IjoiY2lzMl90b2tlbiIsInZhbHVlIjoiIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6InNlY3JldCIsInNlc3Npb25WYWx1ZSI6IlMwcEh2RTh3eUdMM0lTazNpdFVDMFBxTkFEV28iLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IlMwcEh2RTh3eUdMM0lTazNpdFVDMFBxTkFEV28iLCJzZXNzaW9uSW5kZXgiOjB9LHsia2V5IjoibG9naW5fdG9rZW4iLCJ2YWx1ZSI6IiIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJzZWNyZXQiLCJzZXNzaW9uVmFsdWUiOiJqOXcxNUxMa1VjbWtzOU15c0FHbGpmTW9LMGdGIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJqOXcxNUxMa1VjbWtzOU15c0FHbGpmTW9LMGdGIiwic2Vzc2lvbkluZGV4IjoxfSx7ImtleSI6ImFwaV9iYXNlX3VybCIsInZhbHVlIjoiaHR0cHM6Ly9pbnQuYXBpLnNlcnZpY2UubmhzLnVrL3ZhbGlkYXRlZC1yZWxhdGlvbnNoaXBzL0ZISVIvUjQiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6Imh0dHBzOi8vaW50LmFwaS5zZXJ2aWNlLm5ocy51ay92YWxpZGF0ZWQtcmVsYXRpb25zaGlwcy9GSElSL1I0IiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJodHRwczovL2ludC5hcGkuc2VydmljZS5uaHMudWsvdmFsaWRhdGVkLXJlbGF0aW9uc2hpcHMvRkhJUi9SNCIsInNlc3Npb25JbmRleCI6Mn0seyJrZXkiOiJ2cnNfYXBpX3ByaXZhdGVfa2V5IiwidmFsdWUiOiIiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoic2VjcmV0Iiwic2Vzc2lvblZhbHVlIjoiLS0tLS1CRUdJTiBQUklWQVRFLi4uIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiItLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS1cXG5NSUlKUVFJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0NTc3dnZ2tuQWdFQUFvSUNBUURVMDhhUGJWckxRR0R3XFxuTGE2NlNYeVNzc1hTZ0VWa3V5cW9XVGJGbWVlV0ZVaWx5d0xLMGp1aTRpcjI5V1VadWpqNmt0NWg5MFdaMER5Slxcbml3SU9lOWJQdVlnbXR2am9RY2lWZ1J2UUJ4UlZYYzhJUnlveUVnV0pYZVgxUXVPVFVVWEZwT2VzZUFyOXJXeXhcXG5iVTUwek1NTFo3REtId1llUGlNZG1zaExoUGI2bWdScEdQaXpseFJDUXF6RGJxVzh0REM1YWhaYUN5UG1xYWhKXFxuYXFpSzgyQWNpbW5PL1FnZTFjd1JKMGtMU2d0ZG5tS3hGVFpvbm5WOWJJc2wwNUhrczM3R096S3B6ZEt0cFBZdlxcbmFCaGhZVUZzY24yR3grUmxocGo2UWdSS2VwNUpDUXN1UzExbUJKM2E2ZVZDRXlZa3VOdHl0WVh4aVB2YXJYVk5cXG5VZFpIQ0tNb3pjcUpNTHpXZlVKQW9UWGtwMVJ3RURkbDVzTHlPOWxuZlhOdHZKYkx2OGhBalNJT08vY0VCOGJLXFxuVmVyV2I5bnBLMTl4cXhSRjNEdTJiOFdweW5HMEVpZ21NK0lVbkVYQjZMVUNxWWpiVjl0ejMzVDBSM1BkaHg0WFxcbkY4dktzWHY2V0NYVXlVWktNSi9BVTAyc3ZvYlltV3JwOTFEdEdidy9YZ0pFZjBhSVUySzNaTGRUNzV5RWRPWHpcXG4rK2FZNW03VjIzbEpBQjgzU3o4T1R1QW1iMkdkY3IvV2xYRUh6NG5xdms0bVBSU3pzcWFVenBXOEpyS1dBR0JMXFxuU1J0bVU4dWFIZ1kweWFoRnpINWtNNy9oa1NTQTZoeURpaDFxeTkwSjJRN0s0Q1crbE9LbmROYTZaQTh0ZVNBY1xcbm53dHB5aDBWSS9yd3A3TURuZVZ5L0x1Q1dRU0dOd0lEQVFBQkFvSUNBRTc3SElmam5Ec3JkQTROMWZiNkNJbmtcXG5ZRGVETkwxeUhCMkhwaVRrdmFYYjFpNzR6TnQ1ODNtNkZ4bTQ3Y0VEYzl2Qm4xZVp6VEdNcnJxWVpMWDlUVFdmXFxuYzZCeWJLSzhydlNVaWo3RU1jNlFWcUdLejJUdmZUQ0NNVEc0bGYzNHZqemZ1cjR0ZWw2eitrOUo4a0MwTUhuT1xcbkREU21HTDRtYngrd2JqNWdaTXVSVnF1dUFiV2NEbitjZ01LeUVEMmNYU3loNnhPVmFNaFVFOGpURlNNanVIbytcXG4vNDg2SmNaVHJ6eDZhTWdRdlhFTHN6Sm1YZCtyVm95cU9HVmNRNXNzNVpJcEs5OEtLL0lXOHVtYTV0bFVuMVBnXFxubFNic2paMER1MGU4TWgxMXJjSUs0aVJYQVowM2YyRmJSYUlrdXhZTHFCekVzcVYxSVlvQXJ6UjNkMTY3SE5qOVxcbmJCYmF4SVdPcDRBUmpzU1ByM3JDMmVNSXR2bzh4OGVjVG5pZ2llS2ViSXJVcy9xMS9BNGFiZVl6Yk9Ob1JZWGRcXG5wWUc4QTB5RVNHWGpDeUd2bXZDL1krQ0hpSmJVNXB2SkNDUU8vVHNlR21Ed0N6Nk1JTldOK3NKWlpHaU5idTJ6XFxuejJGM0ZUVlJ4VTlTOFdRV3NiZmxFMjgyWmJ5VDNYNzV1TVMzZG5ZTjNta3A1NmsvRkJkWXZmUzhTN0VtLzNOWlxcbk5kbUtuMi83QnB5ZEVaSk9RYitISHVSbWFua09YVEVmUU9aUE5SbXhFU1NWUHJEaWZMaVhLOFMyK1lvb0F2RERcXG4vandvOG1rcU5lVWNEOTlhWWthTk52NHJLaDZpRitSZmhvSm85aHFIOVFCR2swUGZ6TW5yN0w0QWFNcHRkS1duXFxuK0NLLzJuR1VXcWZtZUhZamF2TmhBb0lCQVFEc0JBSFNPaFdDQnlFQU9ZNGdub3hPZ29yeDJCOUdGT1J0TmpRK1xcbnhtMXV4Z3B5ams1RGFUKzRBQ1daRVMvdXNrYkhTV0NuVStlMXlNWjFTdFE5ZlpHcGNyVmpuZ0ZJOXRMVG13VmdcXG5zcmxwUGpWQ2lHS1QzR3MyQ0NodjZwenlidGN3U0RCVjVYbEVkTXJ2ZkVBRFBEaURCZ2Q1ck5QVUZhQjNJVDJjXFxuaVJHMlN6VDFGRWNmME1UNHg3MmQvMVFIbWhoVFowT2tMREkyc0hOODlXcjRrQ1MrUXhOWGY2WHpzUXlDWnBqK1xcbk93ZElnM3V5aVJEaHgvR213UDBVdGJzdXJSZ3dLcVVaZitpa3R3WnRHYmp6QytZWmphTU9zWDdkWTNhSFUyNDdcXG52Q29GZzltZG1nZ1d0Mzd0d1JZMGxjSnpzemIwL1c2bjAzTXBqeXJ1SE50bCtIS1JBb0lCQVFEbTJTQUhEc2xwXFxuSnZMSEJ5aEgvektmcGY1MFJSTFFCWWxvM2NGcGZsd1Bob0lyK25wbjNoRmdoY2x5MU15N214U3Q0Ulh2YjZaVVxcbm9IM2MyV2wrb2NGUWxsNStncGhyaU1ibC9RclJ4bS8wK2lmM3BRK0RjK1M1ZW1OSDdaN3hmSDA5TGdsRFFkMmpcXG5WU1V5SU56OVA2d1cwbm9vOWZna0Nucy9tQVo1QnRyWklHZE92QjhBejdZMm1oWWlSOEZNMTFqZGxLRHlvMWZVXFxuZFc0L0NXdjhLTmxnU1ZFemlMMVBNcHRPUloyYUFybTZZMTl3ZnVwa0crR1o4VEswQ0FTME5QNUFROGwyZUVaMFxcbmZhUEFvNU5RMUZzSWYxamdJVk9wY00xd1ZQVE1xSEk4Q0FRRm5uVEhFL0N1ZW9KSWFSa1drc0tCS0ZITk5jOE5cXG4wcThvSkNWQU1NQkhBb0lCQUhSd2dhbURLSXRQRXhQMlVVMThpMEpNbTFvM3d5NGpMcE5HODcyb3plS2g2Qk9lXFxuYTdSTVg3aGFzakh6VGMrWXV0eWxNZjg3b1F5SmNvZjVrLzZHVGUvb2ZOOFozQTV3WDVFd1lSWFU5eTZhRjFLc1xcbjBOMmNHSFMrejV4dmhtRUJHRDlremh3Q3E3Si9ZSU9JckZnc1JNRTNuMGFEWXJxMnRNVXhiQ0VuYXNxaURnMS9cXG5wSnRvdDFUNXptMzl3eXBBOXhGbTEvTk9MclBXbUJPbFROSTI0em5QQStMZVFqU1pPOCsxNkhNOUVoblBiSjZuXFxuaXVHcGNHcFJ1a3FXWWpQa0NCUHpaaUxQZlNxT2RhZ3IwWmh2WFdWc0FHOUdXSTNHL1hwRVNoVkVmd0xiaXVoN1xcblR0Uk9VVnZoTUNCZlptRUlvT3Q3Z1RWaFYrYkFFSEVMWVo3TVZWRUNnZ0VBZkgvakx3dEJnczEzcC9GclB4RWFcXG5LMUhwM3FrV0VVeTdJK3hkRUZrT3EyemVyWHRFSXRwNFFyZEV3d0tUZkNhU1M0aVdQUERaSXREL3NHa3M1UmUxXFxuMjVHTld1dHg2cVQwcURzRlo4ZCt2LzllS01oRGlxQ3BYWUx0SW5DOEJQOGZ5Q3dZNE1ZWUU2dXJDTk1DZkM2blxcbjBCTXB3UWVQRVZqNXlYMWpHRWlqSlBDOTVvKzhwTUpoUWlkdUFvVHljays5NUpyeEJvc2pwampEQVlwQ1M5ZDRcXG5ETjdkeFU1YzB1YTNMY3FMeWZEb1crYVdKV1M5WXNwS3JLeVJyTmlhT05wUHVUY1Y0eWZRejZpbTlSRUROVmVoXFxuMVA1aFgxZDUrR3NXMFJ0d2Z5UGxvQXl1cHAwajIrNGNJdTE5Y0RJR1RzOU55VHlHaVljWXFSclVUbkRZQ2p1QVxcbnB3S0NBUUFXeFF4V0J6TnZ4L1pNZFlQK0o3eTd3VDlTY1JYZHR5MlRpbFJ0dWxTTGpGZmx1bnRCcUF1ZTVlWTZcXG41Y0hNRGp3N09lajhmaFFXdDN2Yi9xUHBEeXdoOXRTS0hCR0JxWXRJK3NCRXY3bktqNUcvTnVWWUhYOEVuOHBvXFxuc1pTUnphL3FxeHdSTDZtaHppNDlGOEo5ZGdZWHJLUzl6OUpDaTFZRUlCVzA1Y0xpVFk5ZFZiOGZFbTByMllNOFxcbkJOZjQ1NExlNG1TWnJSTjRoMG5ETDdMZzdMTFp5eW85S1Zjc1lDSG5rQ2FGVTNNS0NlTnp5ZEY4YXpyZ2FkU29cXG5xQzMybkxiSDFZMFN5UmhFM1EzOVlDVWVGek5Zbzl3d3luemVmakZ1cHNyckNxaEFPZTFnQytRMTEyNHRGTVp1XFxuS0VIdzJBQkJFT1crTU4ydkZXcEZ5WnBlVHg5Tlxcbi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0iLCJzZXNzaW9uSW5kZXgiOjN9LHsia2V5IjoibmhzX2RldmVsb3Blcl9hY2NvdW50X2FwaV9rZXkiLCJ2YWx1ZSI6IiIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJzZWNyZXQiLCJzZXNzaW9uVmFsdWUiOiI0aHdpdnBKQVpJcXZwSmxBV09jdFJYQ1NnVU1sd1p1SyIsImNvbXBsZXRlU2Vzc2lvblZhbHVlIjoiNGh3aXZwSkFaSXF2cEpsQVdPY3RSWENTZ1VNbHdadUsiLCJzZXNzaW9uSW5kZXgiOjR9LHsia2V5IjoiY29uc2VudF9hcHBfYXV0aF9oZWFkZXJfdmFsdWUiLCJ2YWx1ZSI6IiIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJzZWNyZXQiLCJzZXNzaW9uVmFsdWUiOiJqU2JabmJ4UE1vemZsQUh1YjFHQmdaS0lSbTNXIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJqU2JabmJ4UE1vemZsQUh1YjFHQmdaS0lSbTNXIiwic2Vzc2lvbkluZGV4Ijo1fSx7ImtleSI6InRwcF85Njc0OTk4NTM1X2FjY2Vzc190b2tlbiIsInZhbHVlIjoiIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6InNlY3JldCIsInNlc3Npb25WYWx1ZSI6IntcIkFjY291bnRJZFwiOlwiNTUyODY5ODM0XCIsXCJQYXNzcGhyYXNlXCI6XCJ2UkpxdTEzOWQ3ZHZlclpnKzhlVzd2V0ZTQ2FTbndBV0ZSNlk0dFlYalA3L3VGU2d0djdrMklPd0E0NzhPV3A3WkRxNE1CWUM2aGNUSVRFcm5Od2dieFZtN1ZaOGYzUVVuTC4uLiIsImNvbXBsZXRlU2Vzc2lvblZhbHVlIjoie1wiQWNjb3VudElkXCI6XCI1NTI4Njk4MzRcIixcIlBhc3NwaHJhc2VcIjpcInZSSnF1MTM5ZDdkdmVyWmcrOGVXN3ZXRlNDYVNud0FXRlI2WTR0WVhqUDcvdUZTZ3R2N2sySU93QTQ3OE9XcDdaRHE0TUJZQzZoY1RJVEVybk53Z2J4Vm03Vlo4ZjNRVW5MUFdoKzRLN0VQNWkvNEswQWRHWjBJSzBVdzcrQzdYWmM3RkhnOFJTY0lqaCsyTXFGN3Z1WjQ0dW1lUHZnOGVTTTQ4V1I4SzRYRT1cIixcIlByb3ZpZGVySWRcIjpcImI4OTFmYzNiNTFkNWU3YzFcIixcIkltMUNhY2hlS2V5XCI6XCJ6OEVsQ0RJM2Uxc2xXTGJac0lSVXdpaHk4V1pGc2NyMmRQbVRmVXVpK2dBcVE3WmgwV1BWSVhvL005RHVFVnpPM1hhRk9wYkIzd2M5eWhBVWhBWmhVZz09XCJ9Iiwic2Vzc2lvbkluZGV4Ijo2fSx7ImtleSI6InRwcF85Njc0OTk4NDU0X2FjY2Vzc190b2tlbiIsInZhbHVlIjoiIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6InNlY3JldCIsInNlc3Npb25WYWx1ZSI6IntcIkFjY291bnRJZFwiOlwiODU4ODAzMjAzXCIsXCJQYXNzcGhyYXNlXCI6XCJKVzRIc3JXTWw0SEhNamx4OUJJVW5zUzV1QkpmcUFsWnk0L2VZbUt3a3U5VUZRL0xBQ21PR21tWGJkOG95VUZiMHY3NE14bkVmKzl6UVdPQTQ0QUtPSXQ3bEtFdlJJbzVNYy4uLiIsImNvbXBsZXRlU2Vzc2lvblZhbHVlIjoie1wiQWNjb3VudElkXCI6XCI4NTg4MDMyMDNcIixcIlBhc3NwaHJhc2VcIjpcIkpXNEhzcldNbDRISE1qbHg5QklVbnNTNXVCSmZxQWxaeTQvZVltS3drdTlVRlEvTEFDbU9HbW1YYmQ4b3lVRmIwdjc0TXhuRWYrOXpRV09BNDRBS09JdDdsS0V2UklvNU1jQjVOanZaTkJCaWhMTE82N09xNm9KY0x5bHpDRzFaZUhqTEl4MTJrUnQwblZEc3ZqQ2IyMTZuRm5EYk9mNWkxQWFYbXBTdFVIY1xcdTAwM2RcIixcIlByb3ZpZGVySWRcIjpcImI4OTFmYzNiNTFkNWU3YzFcIixcIkltMUNhY2hlS2V5XCI6XCJrMFlPWVdzVHRteGdrVlpTWXA1YXkraEd6eUYyWUhTcEE2YnpxQTZHODdiOWtxbitHTy9XQ3E0RFRiQ2RISGhkUmZCRVhhZThUU2hHa2lpOEt1Qnd3QVxcdTAwM2RcXHUwMDNkXCJ9Iiwic2Vzc2lvbkluZGV4Ijo3fSx7ImtleSI6ImVtaXNfOTY5MjExMzY5OF9hY2Nlc3NfdG9rZW4iLCJ2YWx1ZSI6IiIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJzZWNyZXQiLCJzZXNzaW9uVmFsdWUiOiJ7XCJJbTFDYWNoZUtleVwiOlwiV3VqUGxITDNGK0p4SUpReDdGUER3aWNvKzZWamVEYXp3Zjd2eW91a1M0b2c2RnllZXFxSUlVSkVVdS8zRHZZRkljQUVBenFEdk5hMXk2UGY3Rlg5Q3c9PVwiLFwiQWNjZXNzSWRlbnRpdHlHdWlkXCI6XCI3OWU4MzkyOS0uLi4iLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IntcIkltMUNhY2hlS2V5XCI6XCJXdWpQbEhMM0YrSnhJSlF4N0ZQRHdpY28rNlZqZURhendmN3Z5b3VrUzRvZzZGeWVlcXFJSVVKRVV1LzNEdllGSWNBRUF6cUR2TmExeTZQZjdGWDlDdz09XCIsXCJBY2Nlc3NJZGVudGl0eUd1aWRcIjpcIjc5ZTgzOTI5LWFiNzctNDI2Ni1iMWI5LWZjN2I4MjNjMTUyNVwifSIsInNlc3Npb25JbmRleCI6OH0seyJrZXkiOiJlbWlzXzk2OTIxMTM2MTJfYWNjZXNzX3Rva2VuIiwidmFsdWUiOiIiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoic2VjcmV0Iiwic2Vzc2lvblZhbHVlIjoie1wiSW0xQ2FjaGVLZXlcIjpcIkM4QXZheEp0YjZaMlFlemNSelEzWUprbFRlSVVtU2N6Y0F6Mno1a2tDazlPNjQ0dlVqV20veUJzRWF6c0htZmxPT0V1MDBlc3IvbGxDT2g4RzQzbWNBPT1cIixcIkFjY2Vzc0lkZW50aXR5R3VpZFwiOlwiMjE3ZWY2ZjEtLi4uIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJ7XCJJbTFDYWNoZUtleVwiOlwiQzhBdmF4SnRiNloyUWV6Y1J6UTNZSmtsVGVJVW1TY3pjQXoyejVra0NrOU82NDR2VWpXbS95QnNFYXpzSG1mbE9PRXUwMGVzci9sbENPaDhHNDNtY0E9PVwiLFwiQWNjZXNzSWRlbnRpdHlHdWlkXCI6XCIyMTdlZjZmMS0xZDcwLTRhOGUtYjcyOC02NjQzMTZjNzU2NTRcIn0iLCJzZXNzaW9uSW5kZXgiOjl9XQ==) + ## Onboarding You need to get your software approved by us before it can go live with this API. We call this onboarding. The onboarding process can sometimes be quite long, so it's worth planning well ahead.