# Contact Card ## Get contact cards `client.contactCard.retrieve(ContactCardRetrieveParamsquery?, RequestOptionsoptions?): ContactCardRetrieveResponse` **get** `/v3/contact_card` Returns the contact card for a specific phone number, or all contact cards for the authenticated partner if no `phone_number` is provided. ### Parameters - `query: ContactCardRetrieveParams` - `phone_number?: string` E.164 phone number to filter by. If omitted, all my cards for the partner are returned. ### Returns - `ContactCardRetrieveResponse` - `contact_cards: Array` - `first_name: string` - `is_active: boolean` - `phone_number: string` - `image_url?: string` - `last_name?: string` ### Example ```typescript import LinqAPIV3 from '@linqapp/sdk'; const client = new LinqAPIV3({ apiKey: process.env['LINQ_API_V3_API_KEY'], // This is the default and can be omitted }); const contactCard = await client.contactCard.retrieve(); console.log(contactCard.contact_cards); ``` #### Response ```json { "contact_cards": [ { "phone_number": "+15551234567", "first_name": "John", "last_name": "Doe", "image_url": "https://cdn.linqapp.com/contact-card/example.jpg", "is_active": true } ] } ``` ## Setup contact card `client.contactCard.create(ContactCardCreateParamsbody, RequestOptionsoptions?): SetContactCard` **post** `/v3/contact_card` Creates a contact card for a phone number. This endpoint is intended for initial, one-time setup only. The contact card is stored in an inactive state first. Once it's applied successfully, it is activated and `is_active` is returned as `true`. On failure, `is_active` is `false`. **Note:** To update an existing contact card after setup, use `PATCH /v3/contact_card` instead. ### Parameters - `body: ContactCardCreateParams` - `first_name: string` First name for the contact card. Required. - `phone_number: string` E.164 phone number to associate the contact card with - `image_url?: string` URL of the profile image to rehost on the CDN. Only re-uploaded when a new value is provided. - `last_name?: string` Last name for the contact card. Optional. ### Returns - `SetContactCard` - `first_name: string` First name on the contact card - `is_active: boolean` Whether the contact card was successfully applied to the device - `phone_number: string` The phone number the contact card is associated with - `image_url?: string` Image URL on the contact card - `last_name?: string` Last name on the contact card ### Example ```typescript import LinqAPIV3 from '@linqapp/sdk'; const client = new LinqAPIV3({ apiKey: process.env['LINQ_API_V3_API_KEY'], // This is the default and can be omitted }); const setContactCard = await client.contactCard.create({ first_name: 'John', phone_number: '+15551234567', image_url: 'https://cdn.linqapp.com/contact-card/example.jpg', last_name: 'Doe', }); console.log(setContactCard.first_name); ``` #### Response ```json { "phone_number": "+15551234567", "first_name": "John", "last_name": "Doe", "image_url": "https://cdn.linqapp.com/contact-card/example.jpg", "is_active": true } ``` ## Update contact card `client.contactCard.update(ContactCardUpdateParamsparams, RequestOptionsoptions?): SetContactCard` **patch** `/v3/contact_card` Partially updates an existing active contact card for a phone number. Fetches the current active contact card and merges the provided fields. Only fields present in the request body are updated; omitted fields retain their existing values. Requires an active contact card to exist for the phone number. ### Parameters - `params: ContactCardUpdateParams` - `phone_number: string` Query param: E.164 phone number of the contact card to update - `first_name?: string` Body param: Updated first name. If omitted, the existing value is kept. - `image_url?: string` Body param: Updated profile image URL. If omitted, the existing image is kept. - `last_name?: string` Body param: Updated last name. If omitted, the existing value is kept. ### Returns - `SetContactCard` - `first_name: string` First name on the contact card - `is_active: boolean` Whether the contact card was successfully applied to the device - `phone_number: string` The phone number the contact card is associated with - `image_url?: string` Image URL on the contact card - `last_name?: string` Last name on the contact card ### Example ```typescript import LinqAPIV3 from '@linqapp/sdk'; const client = new LinqAPIV3({ apiKey: process.env['LINQ_API_V3_API_KEY'], // This is the default and can be omitted }); const setContactCard = await client.contactCard.update({ phone_number: '+15551234567', first_name: 'John', image_url: 'https://cdn.linqapp.com/contact-card/example.jpg', last_name: 'Doe', }); console.log(setContactCard.first_name); ``` #### Response ```json { "phone_number": "+15551234567", "first_name": "John", "last_name": "Doe", "image_url": "https://cdn.linqapp.com/contact-card/example.jpg", "is_active": true } ``` ## Domain Types ### Set Contact Card - `SetContactCard` - `first_name: string` First name on the contact card - `is_active: boolean` Whether the contact card was successfully applied to the device - `phone_number: string` The phone number the contact card is associated with - `image_url?: string` Image URL on the contact card - `last_name?: string` Last name on the contact card ### Contact Card Retrieve Response - `ContactCardRetrieveResponse` - `contact_cards: Array` - `first_name: string` - `is_active: boolean` - `phone_number: string` - `image_url?: string` - `last_name?: string`