import Surge from '@surgeapi/node';
const client = new Surge({
apiKey: process.env['SURGE_API_KEY'], // This is the default and can be omitted
});
const contact = await client.contacts.update('ctc_01j9dy8mdzfn3r0e8x1tbdrdrf', {
phone_number: '+18015551234',
});
console.log(contact.id);import os
from surge import Surge
client = Surge(
api_key=os.environ.get("SURGE_API_KEY"), # This is the default and can be omitted
)
contact = client.contacts.update(
id="ctc_01j9dy8mdzfn3r0e8x1tbdrdrf",
phone_number="+18015551234",
)
print(contact.id)package main
import (
"context"
"fmt"
"github.com/stainless-sdks/surge-go"
"github.com/stainless-sdks/surge-go/option"
)
func main() {
client := surge.NewClient(
option.WithAPIKey("My API Key"),
)
contact, err := client.Contacts.Update(
context.TODO(),
"ctc_01j9dy8mdzfn3r0e8x1tbdrdrf",
surge.ContactUpdateParams{
PhoneNumber: "+18015551234",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", contact.ID)
}
require "surge_api"
surge = SurgeAPI::Client.new(api_key: "My API Key")
contact = surge.contacts.update("ctc_01j9dy8mdzfn3r0e8x1tbdrdrf", phone_number: "+18015551234")
puts(contact)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Surge\Client;
use Surge\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('SURGE_API_KEY') ?: 'My API Key');
try {
$contact = $client->contacts->update(
'ctc_01j9dy8mdzfn3r0e8x1tbdrdrf',
phoneNumber: '+18015551234',
email: 'dom@toretto.family',
firstName: 'Dominic',
lastName: 'Toretto',
metadata: ['car' => '1970 Dodge Charger R/T'],
outboundDisabled: false,
);
var_dump($contact);
} catch (APIException $e) {
echo $e->getMessage();
}curl --request PATCH \
--url https://api.surge.app/contacts/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "dom@toretto.family",
"first_name": "Dominic",
"last_name": "Toretto",
"metadata": {
"car": "1970 Dodge Charger R/T"
},
"outbound_disabled": false,
"phone_number": "+18015551234"
}
'HttpResponse<String> response = Unirest.patch("https://api.surge.app/contacts/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"dom@toretto.family\",\n \"first_name\": \"Dominic\",\n \"last_name\": \"Toretto\",\n \"metadata\": {\n \"car\": \"1970 Dodge Charger R/T\"\n },\n \"outbound_disabled\": false,\n \"phone_number\": \"+18015551234\"\n}")
.asString();{
"email": "dom@toretto.family",
"first_name": "Dominic",
"id": "ctc_01j9dy8mdzfn3r0e8x1tbdrdrf",
"last_name": "Toretto",
"metadata": {
"car": "1970 Dodge Charger R/T"
},
"outbound_disabled": false,
"phone_number": "+18015551234"
}{
"error": {
"message": "The requested resource could not be found.",
"type": "not_found"
}
}Update contact
Update contact details such as name, email, or custom metadata.
import Surge from '@surgeapi/node';
const client = new Surge({
apiKey: process.env['SURGE_API_KEY'], // This is the default and can be omitted
});
const contact = await client.contacts.update('ctc_01j9dy8mdzfn3r0e8x1tbdrdrf', {
phone_number: '+18015551234',
});
console.log(contact.id);import os
from surge import Surge
client = Surge(
api_key=os.environ.get("SURGE_API_KEY"), # This is the default and can be omitted
)
contact = client.contacts.update(
id="ctc_01j9dy8mdzfn3r0e8x1tbdrdrf",
phone_number="+18015551234",
)
print(contact.id)package main
import (
"context"
"fmt"
"github.com/stainless-sdks/surge-go"
"github.com/stainless-sdks/surge-go/option"
)
func main() {
client := surge.NewClient(
option.WithAPIKey("My API Key"),
)
contact, err := client.Contacts.Update(
context.TODO(),
"ctc_01j9dy8mdzfn3r0e8x1tbdrdrf",
surge.ContactUpdateParams{
PhoneNumber: "+18015551234",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", contact.ID)
}
require "surge_api"
surge = SurgeAPI::Client.new(api_key: "My API Key")
contact = surge.contacts.update("ctc_01j9dy8mdzfn3r0e8x1tbdrdrf", phone_number: "+18015551234")
puts(contact)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Surge\Client;
use Surge\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('SURGE_API_KEY') ?: 'My API Key');
try {
$contact = $client->contacts->update(
'ctc_01j9dy8mdzfn3r0e8x1tbdrdrf',
phoneNumber: '+18015551234',
email: 'dom@toretto.family',
firstName: 'Dominic',
lastName: 'Toretto',
metadata: ['car' => '1970 Dodge Charger R/T'],
outboundDisabled: false,
);
var_dump($contact);
} catch (APIException $e) {
echo $e->getMessage();
}curl --request PATCH \
--url https://api.surge.app/contacts/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "dom@toretto.family",
"first_name": "Dominic",
"last_name": "Toretto",
"metadata": {
"car": "1970 Dodge Charger R/T"
},
"outbound_disabled": false,
"phone_number": "+18015551234"
}
'HttpResponse<String> response = Unirest.patch("https://api.surge.app/contacts/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"dom@toretto.family\",\n \"first_name\": \"Dominic\",\n \"last_name\": \"Toretto\",\n \"metadata\": {\n \"car\": \"1970 Dodge Charger R/T\"\n },\n \"outbound_disabled\": false,\n \"phone_number\": \"+18015551234\"\n}")
.asString();{
"email": "dom@toretto.family",
"first_name": "Dominic",
"id": "ctc_01j9dy8mdzfn3r0e8x1tbdrdrf",
"last_name": "Toretto",
"metadata": {
"car": "1970 Dodge Charger R/T"
},
"outbound_disabled": false,
"phone_number": "+18015551234"
}{
"error": {
"message": "The requested resource could not be found.",
"type": "not_found"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the contact to update.
"ctc_01j9dy8mdzfn3r0e8x1tbdrdrf"
Body
Parameters for creating a contact
The contact's phone number in E.164 format.
^\+[1-9]\d{6,14}$"+18015551234"
The contact's email address.
The contact's first name.
The contact's last name.
Set of key-value pairs that will be stored with the object.
Show child attributes
Show child attributes
Whether outbound messaging should be manually disabled for the contact.
Response
Updated contact
A contact who has consented to receive messages
Unique identifier for the object.
The contact's phone number in E.164 format.
^\+[1-9]\d{6,14}$"+18015551234"
The contact's email address.
The contact's first name.
The contact's last name.
Set of key-value pairs that will be stored with the object.
Show child attributes
Show child attributes
Whether outbound messaging has been manually disabled for the contact.