> For the complete documentation index, see [llms.txt](https://biz-card.gitbook.io/bizcard/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://biz-card.gitbook.io/bizcard/api-document/models.md).

# Models

## The ApiResponseContact object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"ApiResponseContact":{"type":"object","properties":{"code":{"type":"integer","description":"Business status code. 200 means success."},"message":{"type":"string","description":"Human readable message."},"data":{"$ref":"#/components/schemas/Contact"}},"required":["code","message","data"]},"Contact":{"type":"object","properties":{"contactId":{"type":"string","description":"Contact ID."},"contactOwner":{"type":"string","description":"Owner email of the contact."},"firstName":{"type":"string"},"lastName":{"type":"string"},"primaryEmail":{"type":"string"},"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"}},"company":{"type":"string"},"department":{"type":"string"},"jobTitle":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"externalId":{"type":"string","description":"External system ID (unique under the same contactOwnerEmail)."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}}}}}
```

## The ApiResponseEmpty object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"ApiResponseEmpty":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"nullable":true}},"required":["code","message"]}}}}
```

## The ErrorResponse object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"code":{"type":"integer","description":"Business error code."},"message":{"type":"string","description":"Error message."},"data":{"nullable":true}},"required":["code","message"]}}}}
```

## The Updater object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"Updater":{"type":"integer","enum":[1,2,3],"description":"Who performs the update: 1-UI manual, 2-Agent, 3-API."}}}}
```

## The ExternalRegistrationStatus object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"ExternalRegistrationStatus":{"type":"integer","enum":[0,1],"description":"External registration status: 0-unregistered, 1-registered."}}}}
```

## The ExternalSubscriptionStatus object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"ExternalSubscriptionStatus":{"type":"integer","enum":[0,1,2,3],"description":"External subscription status: 0-none, 1-trial, 2-expired, 3-subscribed."}}}}
```

## The Contact object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"Contact":{"type":"object","properties":{"contactId":{"type":"string","description":"Contact ID."},"contactOwner":{"type":"string","description":"Owner email of the contact."},"firstName":{"type":"string"},"lastName":{"type":"string"},"primaryEmail":{"type":"string"},"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"}},"company":{"type":"string"},"department":{"type":"string"},"jobTitle":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"externalId":{"type":"string","description":"External system ID (unique under the same contactOwnerEmail)."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}}}}}
```

## The ContactSaveRequest object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"ContactSaveRequest":{"type":"object","required":["contactOwnerEmail","firstName","primaryEmail","updater","updateTime"],"properties":{"requestId":{"type":"string","description":"Request ID for tracing."},"contactOwnerEmail":{"type":"string","description":"Owner email of the contact."},"firstName":{"type":"string"},"lastName":{"type":"string"},"primaryEmail":{"type":"string"},"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"}},"company":{"type":"string"},"department":{"type":"string"},"jobTitle":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"externalId":{"type":"string","description":"External system ID (unique under the same contactOwnerEmail)."},"externalRegistrationStatus":{"$ref":"#/components/schemas/ExternalRegistrationStatus"},"externalSubscriptionStatus":{"$ref":"#/components/schemas/ExternalSubscriptionStatus"},"updater":{"$ref":"#/components/schemas/Updater"},"updateTime":{"type":"string","format":"date-time"},"extParams":{"type":"object","additionalProperties":{"type":"string"}}}},"ExternalRegistrationStatus":{"type":"integer","enum":[0,1],"description":"External registration status: 0-unregistered, 1-registered."},"ExternalSubscriptionStatus":{"type":"integer","enum":[0,1,2,3],"description":"External subscription status: 0-none, 1-trial, 2-expired, 3-subscribed."},"Updater":{"type":"integer","enum":[1,2,3],"description":"Who performs the update: 1-UI manual, 2-Agent, 3-API."}}}}
```

## The ContactUpdateRequest object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"ContactUpdateRequest":{"type":"object","required":["contactId","updater","updateTime"],"properties":{"contactId":{"type":"string","description":"Contact ID."},"requestId":{"type":"string"},"contactOwnerEmail":{"type":"string","description":"Owner email can be updated."},"firstName":{"type":"string"},"lastName":{"type":"string"},"primaryEmail":{"type":"string"},"emails":{"type":"array","items":{"type":"string"},"description":"Append mode (server will append)."},"phones":{"type":"array","items":{"type":"string"},"description":"Append mode (server will append)."},"company":{"type":"string"},"department":{"type":"string"},"jobTitle":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"externalRegistrationStatus":{"$ref":"#/components/schemas/ExternalRegistrationStatus"},"externalSubscriptionStatus":{"$ref":"#/components/schemas/ExternalSubscriptionStatus"},"updater":{"$ref":"#/components/schemas/Updater"},"updateTime":{"type":"string","format":"date-time"},"extParams":{"type":"object","additionalProperties":{"type":"string"}}}},"ExternalRegistrationStatus":{"type":"integer","enum":[0,1],"description":"External registration status: 0-unregistered, 1-registered."},"ExternalSubscriptionStatus":{"type":"integer","enum":[0,1,2,3],"description":"External subscription status: 0-none, 1-trial, 2-expired, 3-subscribed."},"Updater":{"type":"integer","enum":[1,2,3],"description":"Who performs the update: 1-UI manual, 2-Agent, 3-API."}}}}
```

## The ContactDeleteRequest object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"ContactDeleteRequest":{"type":"object","required":["contactId","updater"],"properties":{"requestId":{"type":"string"},"contactId":{"type":"string"},"updater":{"$ref":"#/components/schemas/Updater"}}},"Updater":{"type":"integer","enum":[1,2,3],"description":"Who performs the update: 1-UI manual, 2-Agent, 3-API."}}}}
```

## The ContactSaveOrUpdateRequest object

```json
{"openapi":"3.0.3","info":{"title":"BizCard Contacts Open API","version":"1.0.0"},"components":{"schemas":{"ContactSaveOrUpdateRequest":{"type":"object","required":["contactId","updater","updateTime"],"properties":{"contactId":{"type":"string","description":"Contact ID."},"requestId":{"type":"string"},"contactOwnerEmail":{"type":"string","description":"Owner email can be updated."},"firstName":{"type":"string"},"lastName":{"type":"string"},"primaryEmail":{"type":"string"},"emails":{"type":"array","items":{"type":"string"},"description":"Append mode (server will append)."},"phones":{"type":"array","items":{"type":"string"},"description":"Append mode (server will append)."},"company":{"type":"string"},"department":{"type":"string"},"jobTitle":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"externalRegistrationStatus":{"$ref":"#/components/schemas/ExternalRegistrationStatus"},"externalSubscriptionStatus":{"$ref":"#/components/schemas/ExternalSubscriptionStatus"},"updater":{"$ref":"#/components/schemas/Updater"},"updateTime":{"type":"string","format":"date-time"},"extParams":{"type":"object","additionalProperties":{"type":"string"}}}},"ExternalRegistrationStatus":{"type":"integer","enum":[0,1],"description":"External registration status: 0-unregistered, 1-registered."},"ExternalSubscriptionStatus":{"type":"integer","enum":[0,1,2,3],"description":"External subscription status: 0-none, 1-trial, 2-expired, 3-subscribed."},"Updater":{"type":"integer","enum":[1,2,3],"description":"Who performs the update: 1-UI manual, 2-Agent, 3-API."}}}}
```
