Signicat · Schema
DeviceRegistration
CompanyDigital IdentityAuthenticationE-SignatureKYCIdentity VerificationeIDFraud Prevention
Properties
| Name | Type | Description |
|---|---|---|
| operationProperties | object | An object that contains the configured properties of the operation, which determined how it was carried out. |
| accountId | string | The ID of the account that carried out the operation. |
| transactionId | string | The ID of the transaction. |
| state | string | The state of the operation. **Possible values**: See the [Operation states](/apis/reuseid/#section/Common-concepts/Operation-states) table. |
| errorCode | string | The error code that is given if the operation fails. **Possible values**: See the [Operation error codes](/apis/reuseid/#section/Common-concepts/Operation-error-codes) table. |
| errorDescription | string | The descriptive error message that is given if the operation fails. |
| created | string | The timestamp when the initial response was created. **Format**: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. |
| completed | string | The timestamp when the operation was completed. **Format**: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. |
| device | object | An object that contains information about the ReuseID user's device that was used for the operation. |
| user | object | An object that contains information about the ReuseID user that was used for the operation. |
| riskAttributes | object | An object that contains the risk attributes collected for the device. **Possible values**: See the [Risk attributes](/apis/reuseid/#section/Common-concepts/Risk-attributes) table. **Note**: To learn h |
| tags | array | The tags that you added so that the callback events can be filtered. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/signicat/main/json-schema/signicat-device-registration-schema.json",
"title": "DeviceRegistration",
"x-generated": "2026-10-18",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/signicat-reuseid-openapi.yml#/components/schemas/DeviceRegistration",
"type": "object",
"properties": {
"operationProperties": {
"$ref": "#/$defs/registrationOperationProperties",
"description": "An object that contains the configured properties of the operation, which determined how it was carried out."
},
"accountId": {
"type": "string",
"description": "The ID of the account that carried out the operation."
},
"transactionId": {
"type": "string",
"description": "The ID of the transaction."
},
"state": {
"type": "string",
"description": "The state of the operation.\n\n**Possible values**: See the [Operation states](/apis/reuseid/#section/Common-concepts/Operation-states) table.\n"
},
"errorCode": {
"type": "string",
"description": "The error code that is given if the operation fails.\n\n**Possible values**: See the [Operation error codes](/apis/reuseid/#section/Common-concepts/Operation-error-codes) table.\n"
},
"errorDescription": {
"type": "string",
"description": "The descriptive error message that is given if the operation fails."
},
"created": {
"type": "string",
"description": "The timestamp when the initial response was created.\n\n**Format**: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.\n"
},
"completed": {
"type": "string",
"description": "The timestamp when the operation was completed.\n\n**Format**: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.\n"
},
"device": {
"$ref": "#/$defs/SimpleDevice",
"description": "An object that contains information about the ReuseID user's device that was used for the operation."
},
"user": {
"$ref": "#/$defs/SimpleUser",
"description": "An object that contains information about the ReuseID user that was used for the operation."
},
"riskAttributes": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "An object that contains the risk attributes collected for the device.\n\n**Possible values**: See the [Risk attributes](/apis/reuseid/#section/Common-concepts/Risk-attributes) table.\n\n**Note**: To learn how to configure which attributes are collected, see our [Application configuration](/docs/mobile-identity/mobileid/features/application-configuration#risk-data) feature documentation.\n"
},
"tags": {
"type": "array",
"description": "The tags that you added so that the callback events can be filtered.",
"items": {
"type": "string"
}
}
},
"$defs": {
"AppAttestation": {
"type": "object",
"description": "An object that describes the properties of the attestation.\n\n**Note**: In order for this object to be returned in the response, it must be enabled in your [application configuration](/docs/mobile-identity/mobileid/features/application-configuration#app-attestation).\n",
"properties": {
"playIntegrityStatus": {
"type": "string",
"description": "The Play Integrity attestation status of the ReuseID user's device that was used for the operation.\n\n**Possible values**: See the [Play Integrity statuses](/apis/reuseid/#section/Common-concepts/Play-Integrity-statuses) table.\n"
},
"playIntegrityDate": {
"type": "string",
"description": "The timestamp when the Play Integrity attestation was performed on the ReuseID user's device.\n\n**Format**: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`\n"
},
"appAttestStatus": {
"type": "string",
"description": "The App Attest attestation status of the ReuseID user's device that was used for the operation\n\n**Possible values**: See the [App Attest statuses](/apis/reuseid/#section/Common-concepts/App-Attest-statuses) table.\n"
},
"appAttestDate": {
"type": "string",
"description": "The timestamp when the App Attest attestation was performed on the ReuseID user's device.\n\n**Format**: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`\n"
}
}
},
"Geofencing": {
"type": "object",
"description": "An object that contains information about the geofencing validation.\n\n**Note**: In order for this object to be returned in the response, it must be enabled in your [application configuration](/docs/mobile-identity/mobileid/features/application-configuration#geofencing).\n",
"properties": {
"countryCode": {
"type": "string",
"description": "The country code in an ISO 3166-1 Alpha-2 format, as reported by the SDK.\n\n**Possible values**: For a list of countries and corresponding codes, see the [GeoNames](https://www.geonames.org/countries/) website.\n"
},
"clientStatus": {
"type": "string",
"description": "The status of the geofencing operation, as reported by the SDK.\n\n**Possible values**: See the [Geofencing client statuses](/apis/reuseid/#section/Common-concepts/Geofencing-client-statuses) table.\n"
},
"serverBoundaryValidation": {
"type": "string",
"description": "The status of the geofencing server validation, after evaluating the country against the allowed region.\n\n**Possible values**: See the [Geofencing server boundary validation statuses](/apis/reuseid/#section/Common-concepts/Geofencing-server-boundary-validation-statuses) table.\n"
}
}
},
"Location": {
"type": "object",
"properties": {
"accuracy": {
"type": "string",
"description": "The location accuracy of the ReuseID user's device that was used for the operation."
},
"altitude": {
"type": "string",
"description": "The location altitude of the ReuseID user's device that was used for the operation."
},
"latitude": {
"type": "string",
"description": "The location latitude of the ReuseID user's device that was used for the operation."
},
"longitude": {
"type": "string",
"description": "The location longitude of the ReuseID user's device that was used for the operation."
}
}
},
"SimpleDevice": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the ReuseID user's device (`deviceId`)."
},
"name": {
"type": "string",
"description": "The name of the ReuseID user's device."
}
}
},
"SimpleUser": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID (`userId`) of the ReuseID user, in a valid UUID format."
},
"segment": {
"type": "string",
"description": "The segment that was assigned to the ReuseID user and their corresponding transactions.\n"
},
"externalRef": {
"type": "string",
"description": "The identifier generated by you, that points to the `userId` generated by ReuseID.\n"
},
"attributes": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "An object that contains the user attributes that were added to the ReuseID user, given as key-value pairs.\n"
}
}
},
"postOperationContext": {
"description": "The context of the operation which is sent to your app, through a secure end-to-end encrypted channel, **after** the operation is successfully completed.<br /><br /> **Note**: To learn more, see our [Operation context](/docs/mobile-identity/mobileid/features/operation-context) feature documentation.",
"properties": {
"title": {
"type": "string",
"description": "The title of the operation context.\n",
"default": null
},
"content": {
"type": "string",
"description": "The content of the operation context.\n\n**Allowed values**:\n- It must be something that your application is able to process, for example a string.\n- It cannot exceed the maximum character length in the [Operation context maximum character lengths](#section/Common-concepts/Operation-context-maximum-character-lengths) table.\n\n**Note**: ReuseID handles this as a binary blob.\n",
"default": null
},
"mimeType": {
"type": "string",
"description": "The MIME type of the operation context `content`.\n\n**Note**: This must be a valid MIME type, such as `text/plain`.\n",
"default": null
}
},
"required": [
"content",
"mimeType",
"title"
],
"default": null
},
"registrationOperationProperties": {
"type": "object",
"properties": {
"activationCode": {
"type": "string",
"description": "The activation code, required to complete the registration operation on the device.\n"
},
"location": {
"$ref": "#/$defs/Location",
"description": "An object that describes the location of the ReuseID user's device that was used for the operation.\n\n**Note**: In order for this object to be returned in the response, you must enable it in your [application configuration](/docs/mobile-identity/mobileid/features/application-configuration#risk-data).\n"
},
"attestation": {
"$ref": "#/$defs/AppAttestation"
},
"geofencing": {
"$ref": "#/$defs/Geofencing"
},
"sessionExpiryTime": {
"type": "string",
"description": "The timestamp when the operation expires.\n\n**Format**: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.\n"
},
"activatedAuthenticationMethods": {
"type": "array",
"description": "A list of the activated authentication methods.",
"items": {
"type": "string"
}
},
"postOperationContext": {
"$ref": "#/$defs/postOperationContext"
},
"authLevel": {
"type": "string",
"description": "The authentication level that was used for the operation.\n\n**Possible values**:\n- See the [Authentication levels](/apis/reuseid/#section/Common-concepts/Authentication-levels) table.\n"
},
"sessionTimeout": {
"type": "string",
"description": "The specified timeout for the operation, given in milliseconds.\n"
},
"metadata": {
"type": "string",
"description": "The meta data that was set for the operation.\n"
},
"registrationMode": {
"type": "string",
"description": "The registration mode that was used for the operation.\n\n**Possible values**: See the [Device registration modes](/apis/reuseid/#section/Common-concepts/Device-registration-modes) table.\n"
},
"requestedUserAttributes": {
"type": "array",
"description": "The user attributes that were requested for the operation.\n\n**Possible values**:\n- If no value was set, then the user object returned after a successful operation will not include any attributes.\n- If a non-existent user attribute was set, then this will be silently ignored.\n",
"items": {
"type": "string"
}
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/signicat-device-registration"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.