Download OpenAPI specification:Download
The CRVS interoperability APIs describes different APIs some of them are usecase specific and other are generalized APIs to perform interoperable operations between CRVS registry and SP system. You can now help us improve the API whether it's by making changes to the definition itself or to the code. That way, with time, we can improve the API in general, and expose some of the new features in upcoming version.
Gitbook reference link:
Code directory links:
Each request is build up of three parts
Search person(s) in registry using identifier or custome attributes
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
required | SearchRequest (object) or EncryptedMessage (object) The search data using which registry search to be performed |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "search",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "search_request": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "search_criteria": {
- "version": "1.0.0",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "query_type": "expression",
- "query": {
- "type": "ns:org:QueryType:NoSql",
- "value": {
- "expression": {
- "collection": "HouseHold",
- "query": {
- "$and": [
- {
- "poverty_score": {
- "$lt": 5
}
}, - {
- "location": {
- "$eq": "central_region"
}
}, - {
- "household_size": {
- "$lt": 5
}
}
]
}
}
}
}, - "sort": [
- {
- "attribute_name": "poverty_score",
- "sort_order": "asc"
}
], - "pagination": {
- "page_size": 2000,
- "page_number": 5
}, - "consent": {
- "@type": "Consent",
- "ts": {
- "$ref": "#/components/schemas/DateTime"
}, - "purpose": {
- "text": {
- "type": "string"
}, - "code": {
- "type": "string",
- "description": "From a fixed set, documented at refUri"
}, - "ref_uri": {
- "type": "string",
- "format": "uri",
- "description": "Uri to provide more info on consent codes"
}
}
}, - "authorize": {
- "@type": "Authorize",
- "ts": {
- "$ref": "#/components/schemas/DateTime"
}, - "purpose": {
- "text": {
- "type": "string"
}, - "code": {
- "type": "string",
- "description": "From a fixed set, documented at refUri"
}, - "ref_uri": {
- "type": "string",
- "format": "uri",
- "description": "Uri to provide more info on authorize codes"
}
}
}
}, - "locale": "en"
}
]
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Search results through callback
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
SearchResponse (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "789",
- "message_ts": "",
- "action": "on-search",
- "status": "rcvd",
- "status_reason_code": "rjct.version.invalid",
- "status_reason_message": "string",
- "total_count": 21800,
- "completed_count": 50,
- "sender_id": "civilregistry.example.org",
- "receiver_id": "registry.example.org",
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "search_response": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "data": {
- "version": "1.0.0",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "reg_record_type": "spdci-extensions-dci:Person",
- "reg_records": {
- "type": "object",
- "description": "1. Attributes of a household to create fetch records, create verifiable credentials or use in search criteria.\n3. Allows Country/Registry specific implementation extensions using Attribute Name/Value pairs.\n\n@context: https://schema.spdci.org/extensions/social/v1/Household.jsonld <br>\n@type: \"@context\" <br>\n",
- "example": {
- "@context": {
}, - "@id": "Household",
- "@type": "Household",
- "household_identifier": "HS02052024",
- "address": {
- "geo_location": ""
}, - "poverty_score": "4.0",
- "poverty_score_type": "",
- "household_size": "1",
- "household_head_info": {
- "person": {
- "identifier_type": "NID",
- "identifier_value": "0205202401",
- "name": {
- "first_name": "Test",
- "second_name": "Test2",
- "surname": "Test3"
}, - "sex": "F",
- "birth_date": "02.05.2004",
- "death_date": " ",
- "address": " ",
- "phone_number": "",
- "email": " "
}
}, - "member_list": [
- {
- "household_member": {
- "member_identifier": "HS0205202401",
- "demographic_info": {
- "person": {
- "identifier_type": "NID",
- "identifier_value": "0205202401",
- "name": {
- "first_name": "Test",
- "second_name": "Test2",
- "surname": "Test3"
}, - "sex": "F",
- "birth_date": "02.05.2004",
- "death_date": " ",
- "address": { },
- "phone_number": "",
- "email": " "
}
}, - "relationship_head": "self",
- "related_person": { },
- "is_disabled": "0",
- "disability_info": " ",
- "marital_status": "Single",
- "employment_status": "employed",
- "occupation": "Caregiver",
- "income_level": " ",
- "language_code": "Eng",
- "education_level": "Highschool",
- "registration_date": "02.05.2024"
}
}
], - "additional_attributes": [ ],
- "registration_date": "02.05.2024",
- "last_update": " "
}
}
}, - "pagination": {
- "page_size": 2000,
- "page_number": 5,
- "total_count": 24250
}, - "locale": "en"
}
]
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Subscribe to a life event with registry
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
required | SubscribeRequest (object) or EncryptedMessage (object) Subscription request which contaion query with frequency and other info on which notification to be sent by registry to subscriber |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "subscribe",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "subscribe_request": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "subscribe_criteria": {
- "version": "1.0.0",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "frequency": {
- "start_time": "",
- "end_time": "",
- "frequency": "string"
}, - "filter_type": "expression",
- "filter": {
- "type": "ns:org:QueryType:NoSql",
- "value": {
- "expression": {
- "collection": "HouseHold",
- "query": {
- "$and": [
- {
- "poverty_score": {
- "$lt": 5
}
}, - {
- "location": {
- "$eq": "central_region"
}
}, - {
- "household_size": {
- "$lt": 5
}
}
]
}
}
}
}, - "notify_record_type": "spdci-extensions-dci:Person",
- "authorize": {
- "@type": "Authorize",
- "ts": {
- "$ref": "#/components/schemas/DateTime"
}, - "purpose": {
- "text": {
- "type": "string"
}, - "code": {
- "type": "string",
- "description": "From a fixed set, documented at refUri"
}, - "ref_uri": {
- "type": "string",
- "format": "uri",
- "description": "Uri to provide more info on authorize codes"
}
}
}
}, - "locale": "en"
}
]
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Subscribe results through callback
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
required | SubscribeResponse (object) or EncryptedMessage (object) Subscription information |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "on-subscribe",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "subscribe_response": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "subscriptions": [
- {
- "version": "1.0.0",
- "code": "string",
- "status": "subscribe",
- "timestamp": "",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "frequency": {
- "start_time": "",
- "end_time": "",
- "frequency": "string"
}, - "filter_type": "expression",
- "filter": {
- "type": "ns:org:QueryType:NoSql",
- "value": {
- "expression": {
- "collection": "HouseHold",
- "query": {
- "$and": [
- {
- "poverty_score": {
- "$lt": 5
}
}, - {
- "location": {
- "$eq": "central_region"
}
}, - {
- "household_size": {
- "$lt": 5
}
}
]
}
}
}
}, - "notify_record_type": "spdci-extensions-dci:Person",
- "locale": "en"
}
], - "pagination": {
- "page_size": 2000,
- "page_number": 5,
- "total_count": 24250
}, - "locale": "en"
}
]
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Registry to notify a life event to subscrbiers
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
NotifyEventRequest (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "789",
- "message_ts": "",
- "action": "notify",
- "status": "rcvd",
- "status_reason_code": "rjct.version.invalid",
- "status_reason_message": "string",
- "total_count": 21800,
- "completed_count": 50,
- "sender_id": "civilregistry.example.org",
- "receiver_id": "registry.example.org",
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "notify_event": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "data": {
- "version": "1.0.0",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "response_entity": "Household",
- "reg_records": {
- "type": "object",
- "description": "1. Attributes of a household to create fetch records, create verifiable credentials or use in search criteria.\n3. Allows Country/Registry specific implementation extensions using Attribute Name/Value pairs.\n\n@context: https://schema.spdci.org/extensions/social/v1/Household.jsonld <br>\n@type: \"@context\" <br>\n",
- "example": {
- "@context": {
}, - "@id": "Household",
- "@type": "Household",
- "household_identifier": "HS02052024",
- "address": {
- "geo_location": ""
}, - "poverty_score": "4.0",
- "poverty_score_type": "",
- "household_size": "1",
- "household_head_info": {
- "person": {
- "identifier_type": "NID",
- "identifier_value": "0205202401",
- "name": {
- "first_name": "Test",
- "second_name": "Test2",
- "surname": "Test3"
}, - "sex": "F",
- "birth_date": "02.05.2004",
- "death_date": " ",
- "address": " ",
- "phone_number": "",
- "email": " "
}
}, - "member_list": [
- {
- "household_member": {
- "member_identifier": "HS0205202401",
- "demographic_info": {
- "person": {
- "identifier_type": "NID",
- "identifier_value": "0205202401",
- "name": {
- "first_name": "Test",
- "second_name": "Test2",
- "surname": "Test3"
}, - "sex": "F",
- "birth_date": "02.05.2004",
- "death_date": " ",
- "address": { },
- "phone_number": "",
- "email": " "
}
}, - "relationship_head": "self",
- "related_person": { },
- "is_disabled": "0",
- "disability_info": " ",
- "marital_status": "Single",
- "employment_status": "employed",
- "occupation": "Caregiver",
- "income_level": " ",
- "language_code": "Eng",
- "education_level": "Highschool",
- "registration_date": "02.05.2024"
}
}
], - "additional_attributes": [ ],
- "registration_date": "02.05.2024",
- "last_update": " "
}
}
}, - "locale": "en"
}
]
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Unsubscribe existing subscription(s) by subscription_code
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
required | UnSubscribeRequest (object) or EncryptedMessage (object) The unsubscribe request that contain subscription ids which to be removed from subscription list |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "unsubscribe",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "timesstamp": "",
- "subscription_codes": [
- "string"
]
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Unsubscribe response as a callback
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
required | UnSubscribeResponse (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "on-unsubscribe",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "timesatmp": "",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "subscription_status": [
- {
- "code": "string",
- "status": "subscribe"
}
]
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Perform async status check of previous civil registry transanctions using transaction_id and/or reference_id(s)
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
required | TxnStatusRequest (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "txn-status",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "txnstatus_request": {
- "reference_id": "12345678901234567890",
- "txn_type": "search",
- "attribute_type": "transaction_id",
- "attribute_value": 123456789,
- "locale": "en"
}
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Response to async status check of previous civil registrt transanctions using callback
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
TxnStatusResponse (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "789",
- "message_ts": "",
- "action": "txn-on-status",
- "status": "rcvd",
- "status_reason_code": "rjct.version.invalid",
- "status_reason_message": "string",
- "total_count": 21800,
- "completed_count": 50,
- "sender_id": "civilregistry.example.org",
- "receiver_id": "registry.example.org",
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "txnstatus_response": {
- "type": "object",
- "description": "Response to search request. Multiple repsonses for each page can be pushed to the caller as an implementation!",
- "properties": {
- "transaction_id": {
- "$ref": "#/components/schemas/TransactionId"
}, - "correlation_id": {
- "description": "1. correlation_id acknowledged by end txn processing system (i.e receiver) to co-relate all related requests in the context of a business transaction.\n2. correlation_id uniqueness is ensured by txn processing system (i.e receiver)\n",
- "type": "string",
- "maxLength": 99,
- "example": "9876543210"
}, - "search_response": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "reference_id": {
- "$ref": "#/components/schemas/ReferenceId"
}, - "timestamp": {
- "$ref": "#/components/schemas/DateTime"
}, - "status": {
- "$ref": "#/components/schemas/RequestStatus"
}, - "status_reason_code": {
- "$ref": "#/components/schemas/SearchStatusReasonCode"
}, - "status_reason_message": {
- "description": "Status reason code message. Helps actionanble messaging for systems/end users",
- "type": "string",
- "maxLength": 999
}, - "data": {
- "type": "object",
- "description": "Search result record as an outcome of search/subscribe action\n",
- "properties": {
- "version": {
- "type": "string",
- "default": "1.0.0"
}, - "reg_type": {
- "$ref": "#/components/schemas/RegistryType"
}, - "reg_event_type": {
- "$ref": "#/components/schemas/RegistryEventType"
}, - "reg_record_type": {
- "$ref": "#/components/schemas/RegistryRecordType"
}, - "reg_records": {
- "$ref": "#/components/schemas/RegistryRecord"
}
}, - "required": [
- "reg_record_type",
- "reg_records"
]
}, - "pagination": {
- "$ref": "#/components/schemas/Pagination"
}, - "locale": {
- "$ref": "#/components/schemas/LanguageCode"
}
}, - "required": [
- "reference_id",
- "timestamp",
- "status"
]
}
}
}, - "required": [
- "transaction_id",
- "correlation_id",
- "search_response"
]
}
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Search person(s) in registry using identifier or custome attributes
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
required | SearchRequest (object) or EncryptedMessage (object) The search data using which registry search to be performed |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "search",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "search_request": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "search_criteria": {
- "version": "1.0.0",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "query_type": "expression",
- "query": {
- "type": "ns:org:QueryType:NoSql",
- "value": {
- "expression": {
- "collection": "HouseHold",
- "query": {
- "$and": [
- {
- "poverty_score": {
- "$lt": 5
}
}, - {
- "location": {
- "$eq": "central_region"
}
}, - {
- "household_size": {
- "$lt": 5
}
}
]
}
}
}
}, - "sort": [
- {
- "attribute_name": "poverty_score",
- "sort_order": "asc"
}
], - "pagination": {
- "page_size": 2000,
- "page_number": 5
}, - "consent": {
- "@type": "Consent",
- "ts": {
- "$ref": "#/components/schemas/DateTime"
}, - "purpose": {
- "text": {
- "type": "string"
}, - "code": {
- "type": "string",
- "description": "From a fixed set, documented at refUri"
}, - "ref_uri": {
- "type": "string",
- "format": "uri",
- "description": "Uri to provide more info on consent codes"
}
}
}, - "authorize": {
- "@type": "Authorize",
- "ts": {
- "$ref": "#/components/schemas/DateTime"
}, - "purpose": {
- "text": {
- "type": "string"
}, - "code": {
- "type": "string",
- "description": "From a fixed set, documented at refUri"
}, - "ref_uri": {
- "type": "string",
- "format": "uri",
- "description": "Uri to provide more info on authorize codes"
}
}
}
}, - "locale": "en"
}
]
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
Sync status check of registry Async APIs
signature | string (MsgSignature) Signature of {header}+{message} body verified using sender's signing public key |
required | object Message header |
required | TxnStatusRequest (object) or EncryptedMessage (object) |
{- "signature": "Signature: namespace=\"spdci\", kidId=\"{sender_id}|{unique_key_id}|{algorithm}\", algorithm=\"ed25519\", created=\"1606970629\", expires=\"1607030629\", headers=\"(created) (expires) digest\", signature=\"Base64(signing content)",
- "header": {
- "version": "1.0.0",
- "message_id": "123",
- "message_ts": "",
- "action": "txn-status",
- "sender_id": "spp.example.org",
- "receiver_id": "pymts.example.org",
- "total_count": 21800,
- "is_msg_encrypted": false,
- "meta": { }
}, - "message": {
- "transaction_id": 123456789,
- "txnstatus_request": {
- "reference_id": "12345678901234567890",
- "txn_type": "search",
- "attribute_type": "transaction_id",
- "attribute_value": 123456789,
- "locale": "en"
}
}
}
{- "errors": [
- {
- "code": "string",
- "message": "string"
}
]
}
transaction_id required | string (TransactionId) <= 99 characters
|
required | Array of objects
|
{- "transaction_id": 123456789,
- "search_request": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "search_criteria": {
- "version": "1.0.0",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "query_type": "expression",
- "query": {
- "type": "ns:org:QueryType:NoSql",
- "value": {
- "expression": {
- "collection": "HouseHold",
- "query": {
- "$and": [
- {
- "poverty_score": {
- "$lt": 5
}
}, - {
- "location": {
- "$eq": "central_region"
}
}, - {
- "household_size": {
- "$lt": 5
}
}
]
}
}
}
}, - "sort": [
- {
- "attribute_name": "poverty_score",
- "sort_order": "asc"
}
], - "pagination": {
- "page_size": 2000,
- "page_number": 5
}, - "consent": {
- "@type": "Consent",
- "ts": {
- "$ref": "#/components/schemas/DateTime"
}, - "purpose": {
- "text": {
- "type": "string"
}, - "code": {
- "type": "string",
- "description": "From a fixed set, documented at refUri"
}, - "ref_uri": {
- "type": "string",
- "format": "uri",
- "description": "Uri to provide more info on consent codes"
}
}
}, - "authorize": {
- "@type": "Authorize",
- "ts": {
- "$ref": "#/components/schemas/DateTime"
}, - "purpose": {
- "text": {
- "type": "string"
}, - "code": {
- "type": "string",
- "description": "From a fixed set, documented at refUri"
}, - "ref_uri": {
- "type": "string",
- "format": "uri",
- "description": "Uri to provide more info on authorize codes"
}
}
}
}, - "locale": "en"
}
]
}
transaction_id required | string (TransactionId) <= 99 characters
|
correlation_id required | string <= 99 characters
|
required | Array of objects |
{- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "search_response": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "data": {
- "version": "1.0.0",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "reg_record_type": "spdci-extensions-dci:Person",
- "reg_records": {
- "type": "object",
- "description": "1. Attributes of a household to create fetch records, create verifiable credentials or use in search criteria.\n3. Allows Country/Registry specific implementation extensions using Attribute Name/Value pairs.\n\n@context: https://schema.spdci.org/extensions/social/v1/Household.jsonld <br>\n@type: \"@context\" <br>\n",
- "example": {
- "@context": {
}, - "@id": "Household",
- "@type": "Household",
- "household_identifier": "HS02052024",
- "address": {
- "geo_location": ""
}, - "poverty_score": "4.0",
- "poverty_score_type": "",
- "household_size": "1",
- "household_head_info": {
- "person": {
- "identifier_type": "NID",
- "identifier_value": "0205202401",
- "name": {
- "first_name": "Test",
- "second_name": "Test2",
- "surname": "Test3"
}, - "sex": "F",
- "birth_date": "02.05.2004",
- "death_date": " ",
- "address": " ",
- "phone_number": "",
- "email": " "
}
}, - "member_list": [
- {
- "household_member": {
- "member_identifier": "HS0205202401",
- "demographic_info": {
- "person": {
- "identifier_type": "NID",
- "identifier_value": "0205202401",
- "name": {
- "first_name": "Test",
- "second_name": "Test2",
- "surname": "Test3"
}, - "sex": "F",
- "birth_date": "02.05.2004",
- "death_date": " ",
- "address": { },
- "phone_number": "",
- "email": " "
}
}, - "relationship_head": "self",
- "related_person": { },
- "is_disabled": "0",
- "disability_info": " ",
- "marital_status": "Single",
- "employment_status": "employed",
- "occupation": "Caregiver",
- "income_level": " ",
- "language_code": "Eng",
- "education_level": "Highschool",
- "registration_date": "02.05.2024"
}
}
], - "additional_attributes": [ ],
- "registration_date": "02.05.2024",
- "last_update": " "
}
}
}, - "pagination": {
- "page_size": 2000,
- "page_number": 5,
- "total_count": 24250
}, - "locale": "en"
}
]
}
transaction_id required | string (TransactionId) <= 99 characters
|
required | Array of objects |
{- "transaction_id": 123456789,
- "subscribe_request": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "subscribe_criteria": {
- "version": "1.0.0",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "frequency": {
- "start_time": "",
- "end_time": "",
- "frequency": "string"
}, - "filter_type": "expression",
- "filter": {
- "type": "ns:org:QueryType:NoSql",
- "value": {
- "expression": {
- "collection": "HouseHold",
- "query": {
- "$and": [
- {
- "poverty_score": {
- "$lt": 5
}
}, - {
- "location": {
- "$eq": "central_region"
}
}, - {
- "household_size": {
- "$lt": 5
}
}
]
}
}
}
}, - "notify_record_type": "spdci-extensions-dci:Person",
- "authorize": {
- "@type": "Authorize",
- "ts": {
- "$ref": "#/components/schemas/DateTime"
}, - "purpose": {
- "text": {
- "type": "string"
}, - "code": {
- "type": "string",
- "description": "From a fixed set, documented at refUri"
}, - "ref_uri": {
- "type": "string",
- "format": "uri",
- "description": "Uri to provide more info on authorize codes"
}
}
}
}, - "locale": "en"
}
]
}
transaction_id required | string (TransactionId) <= 99 characters
|
correlation_id required | string <= 99 characters
|
required | Array of objects |
{- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "subscribe_response": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "subscriptions": [
- {
- "version": "1.0.0",
- "code": "string",
- "status": "subscribe",
- "timestamp": "",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "frequency": {
- "start_time": "",
- "end_time": "",
- "frequency": "string"
}, - "filter_type": "expression",
- "filter": {
- "type": "ns:org:QueryType:NoSql",
- "value": {
- "expression": {
- "collection": "HouseHold",
- "query": {
- "$and": [
- {
- "poverty_score": {
- "$lt": 5
}
}, - {
- "location": {
- "$eq": "central_region"
}
}, - {
- "household_size": {
- "$lt": 5
}
}
]
}
}
}
}, - "notify_record_type": "spdci-extensions-dci:Person",
- "locale": "en"
}
], - "pagination": {
- "page_size": 2000,
- "page_number": 5,
- "total_count": 24250
}, - "locale": "en"
}
]
}
transaction_id required | string (TransactionId) <= 99 characters
|
required | Array of objects |
{- "transaction_id": 123456789,
- "notify_event": [
- {
- "reference_id": "12345678901234567890",
- "timestamp": "",
- "data": {
- "version": "1.0.0",
- "reg_type": "ns:org:RegistryType:Social",
- "reg_event_type": "spdci-common:RegistryEventType:NewHouseHoldMember",
- "response_entity": "Household",
- "reg_records": {
- "type": "object",
- "description": "1. Attributes of a household to create fetch records, create verifiable credentials or use in search criteria.\n3. Allows Country/Registry specific implementation extensions using Attribute Name/Value pairs.\n\n@context: https://schema.spdci.org/extensions/social/v1/Household.jsonld <br>\n@type: \"@context\" <br>\n",
- "example": {
- "@context": {
}, - "@id": "Household",
- "@type": "Household",
- "household_identifier": "HS02052024",
- "address": {
- "geo_location": ""
}, - "poverty_score": "4.0",
- "poverty_score_type": "",
- "household_size": "1",
- "household_head_info": {
- "person": {
- "identifier_type": "NID",
- "identifier_value": "0205202401",
- "name": {
- "first_name": "Test",
- "second_name": "Test2",
- "surname": "Test3"
}, - "sex": "F",
- "birth_date": "02.05.2004",
- "death_date": " ",
- "address": " ",
- "phone_number": "",
- "email": " "
}
}, - "member_list": [
- {
- "household_member": {
- "member_identifier": "HS0205202401",
- "demographic_info": {
- "person": {
- "identifier_type": "NID",
- "identifier_value": "0205202401",
- "name": {
- "first_name": "Test",
- "second_name": "Test2",
- "surname": "Test3"
}, - "sex": "F",
- "birth_date": "02.05.2004",
- "death_date": " ",
- "address": { },
- "phone_number": "",
- "email": " "
}
}, - "relationship_head": "self",
- "related_person": { },
- "is_disabled": "0",
- "disability_info": " ",
- "marital_status": "Single",
- "employment_status": "employed",
- "occupation": "Caregiver",
- "income_level": " ",
- "language_code": "Eng",
- "education_level": "Highschool",
- "registration_date": "02.05.2024"
}
}
], - "additional_attributes": [ ],
- "registration_date": "02.05.2024",
- "last_update": " "
}
}
}, - "locale": "en"
}
]
}
transaction_id required | string (TransactionId) <= 99 characters
|
timesstamp | string <date-time> (DateTime)
|
subscription_codes | Array of strings (SubscriptionCode) [ items <= 99 characters ] |
{- "transaction_id": 123456789,
- "timesstamp": "",
- "subscription_codes": [
- "string"
]
}
transaction_id required | string (TransactionId) <= 99 characters
|
correlation_id required | string <= 99 characters
|
timesatmp | string <date-time> (DateTime)
|
status required | string (RequestStatus) Enum: "rcvd" "pdng" "succ" "rjct" Request (e.g disburse, link, unlink, resolve, issue, search, verify, etc.,) status: |
status_reason_code | string (UnSubscribeStatusReasonCode) Enum: "rjct.reference_id.invalid" "rjct.reference_id.duplicate" "rjct.timestamp.invalid" "rjct.subscription_code.invalid" "rjct.requester.invalid" "rjct.event.already_unsubscribed" Identity verification request status reason codes |
status_reason_message | string <= 999 characters Status reason code message. Helps actionanble messaging for systems/end users |
Array of objects |
{- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "timesatmp": "",
- "status": "rcvd",
- "status_reason_code": "rjct.reference_id.invalid",
- "status_reason_message": "string",
- "subscription_status": [
- {
- "code": "string",
- "status": "subscribe"
}
]
}
transaction_id required | string (TransactionId) <= 99 characters
|
required | object |
{- "transaction_id": 123456789,
- "txnstatus_request": {
- "reference_id": "12345678901234567890",
- "txn_type": "search",
- "attribute_type": "transaction_id",
- "attribute_value": 123456789,
- "locale": "en"
}
}
transaction_id required | string (TransactionId) <= 99 characters
|
correlation_id required | string <= 99 characters
|
required | object |
{- "transaction_id": 123456789,
- "correlation_id": "9876543210",
- "txnstatus_response": {
- "type": "object",
- "description": "Response to search request. Multiple repsonses for each page can be pushed to the caller as an implementation!",
- "properties": {
- "transaction_id": {
- "$ref": "#/components/schemas/TransactionId"
}, - "correlation_id": {
- "description": "1. correlation_id acknowledged by end txn processing system (i.e receiver) to co-relate all related requests in the context of a business transaction.\n2. correlation_id uniqueness is ensured by txn processing system (i.e receiver)\n",
- "type": "string",
- "maxLength": 99,
- "example": "9876543210"
}, - "search_response": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "reference_id": {
- "$ref": "#/components/schemas/ReferenceId"
}, - "timestamp": {
- "$ref": "#/components/schemas/DateTime"
}, - "status": {
- "$ref": "#/components/schemas/RequestStatus"
}, - "status_reason_code": {
- "$ref": "#/components/schemas/SearchStatusReasonCode"
}, - "status_reason_message": {
- "description": "Status reason code message. Helps actionanble messaging for systems/end users",
- "type": "string",
- "maxLength": 999
}, - "data": {
- "type": "object",
- "description": "Search result record as an outcome of search/subscribe action\n",
- "properties": {
- "version": {
- "type": "string",
- "default": "1.0.0"
}, - "reg_type": {
- "$ref": "#/components/schemas/RegistryType"
}, - "reg_event_type": {
- "$ref": "#/components/schemas/RegistryEventType"
}, - "reg_record_type": {
- "$ref": "#/components/schemas/RegistryRecordType"
}, - "reg_records": {
- "$ref": "#/components/schemas/RegistryRecord"
}
}, - "required": [
- "reg_record_type",
- "reg_records"
]
}, - "pagination": {
- "$ref": "#/components/schemas/Pagination"
}, - "locale": {
- "$ref": "#/components/schemas/LanguageCode"
}
}, - "required": [
- "reference_id",
- "timestamp",
- "status"
]
}
}
}, - "required": [
- "transaction_id",
- "correlation_id",
- "search_response"
]
}
}
required | object |
ciphertext required | string This is the result of encrypting the plaintext using the CEK and the IV. It's Base64Url-encoded. |
encrypted_key required | string The base64-url encoded encrypted key |
tag required | string This is a Base64Url-encoded value that provides evidence of the integrity and authenticity of the ciphertext, Initialization Vector, and Additional Authenticated Data |
iv required | string This is a Base64Url-encoded random bit string to be used as the Initialization Vector (IV) when encrypting the plaintext to produce the ciphertext. The size of the IV depends on the encryption algorithm used. |
{- "header": {
- "alg": "string",
- "enc": "string",
- "kid": "string"
}, - "ciphertext": "string",
- "encrypted_key": "string",
- "tag": "string",
- "iv": "string"
}
Identity verification request status reason codes
"rjct.reference_id.invalid"
Identity verification request status reason codes
"rjct.reference_id.invalid"
Identity verification request status reason codes
"rjct.reference_id.invalid"