Supaglue Contacts API
The `Contact` Common Object represents a "contact" in CRMs.
The `Contact` Common Object represents a "contact" in CRMs.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/supaglue-contacts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: Supaglue Contacts API
version: 0.25.7
contact:
name: Supaglue
email: docs@supaglue.com
url: https://supaglue.com
description: 'Operations tagged Contacts across 3 of this provider''s published API definitions: supaglue-crm-api-openapi.yml, supaglue-engagement-api-openapi.yml, supaglue-ticketing-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.supaglue.io/crm/v2
description: Supaglue API
- url: https://api.supaglue.io/engagement/v2
description: Supaglue API
- url: https://api.supaglue.io/ticketing/v2
description: Supaglue API
tags:
- name: Contacts
description: The `Contact` Common Object represents a "contact" in CRMs.
paths:
/contacts:
parameters:
- $ref: '#/components/parameters/x-customer-id'
- $ref: '#/components/parameters/x-provider-name'
post:
operationId: createContact
summary: Create contact
tags:
- Contacts
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
record:
$ref: '#/components/schemas/create_update_contact'
required:
- record
example:
record:
first_name: George
last_activity_at: '2022-02-10T00:00:00Z'
last_name: Xing
account_id: 64571bff-48ea-4469-9fa0-ee1a0bab38bd
responses:
'201':
description: Contact created
content:
application/json:
schema:
type: object
properties:
errors:
$ref: '#/components/schemas/errors'
record:
$ref: '#/components/schemas/created_record'
warnings:
$ref: '#/components/schemas/warnings'
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'409':
$ref: '#/components/responses/conflict'
'422':
$ref: '#/components/responses/unprocessableEntity'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
get:
operationId: listContacts
summary: List contacts
tags:
- Contacts
security:
- x-api-key: []
parameters:
- $ref: '#/components/parameters/include_raw_data'
- $ref: '#/components/parameters/read_from_cache'
- $ref: '#/components/parameters/modified_after'
- $ref: '#/components/parameters/page_size'
- $ref: '#/components/parameters/cursor'
- $ref: '#/components/parameters/associations_to_fetch'
responses:
'200':
description: Paginated Contacts
content:
application/json:
schema:
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination'
records:
type: array
items:
$ref: '#/components/schemas/contact'
required:
- pagination
- records
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
servers:
- url: https://api.supaglue.io/crm/v2
description: Supaglue API
/contacts/_search:
parameters:
- $ref: '#/components/parameters/x-customer-id'
- $ref: '#/components/parameters/x-provider-name'
post:
operationId: searchContacts
summary: Search contacts
description: 'Search contacts by a filter.
Support:
| Provider | Search By |
| ----------- | --------------- |
| Hubspot | Email |
| Salesforce | Email |
| Pipedrive | (Not Supported) |
| MS Dynamics | (Not Supported) |
'
tags:
- Contacts
security:
- x-api-key: []
parameters:
- $ref: '#/components/parameters/include_raw_data'
- $ref: '#/components/parameters/page_size'
- $ref: '#/components/parameters/cursor'
- $ref: '#/components/parameters/associations_to_fetch'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
filter:
type: object
properties:
email:
type: string
description: The email to search on.
example: hello@example.com
required:
- email
required:
- filter
responses:
'200':
description: Paginated Contacts
content:
application/json:
schema:
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination'
records:
type: array
items:
$ref: '#/components/schemas/contact'
required:
- pagination
- records
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'409':
$ref: '#/components/responses/conflict'
'422':
$ref: '#/components/responses/unprocessableEntity'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
servers:
- url: https://api.supaglue.io/crm/v2
description: Supaglue API
/contacts/_upsert:
parameters:
- $ref: '#/components/parameters/x-customer-id'
- $ref: '#/components/parameters/x-provider-name'
post:
operationId: upsertContact
summary: Upsert contact
description: 'Upsert a contact. If the contact does not exist, it will be created. If the contact does exist, it will be updated.
Only supported for Salesforce, Hubspot, and Pipedrive.
'
tags:
- Contacts
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
record:
$ref: '#/components/schemas/create_update_contact'
upsert_on:
type: object
properties:
key:
type: string
enum:
- email
description: The key to upsert on. Only `email` is supported for all providers.
values:
type: array
description: The values to upsert on. If more than one value is provided, it will act as a logical OR. If more than one account is found that matches, then an error will be thrown.
items:
type: string
example: hello@example.com
required:
- key
- values
required:
- record
- upsert_on
responses:
'201':
description: Contact upserted
content:
application/json:
schema:
type: object
properties:
record:
$ref: '#/components/schemas/created_record'
warnings:
$ref: '#/components/schemas/warnings'
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'409':
$ref: '#/components/responses/conflict'
'422':
$ref: '#/components/responses/unprocessableEntity'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
servers:
- url: https://api.supaglue.io/crm/v2
description: Supaglue API
/contacts/{contact_id}:
parameters:
- $ref: '#/components/parameters/x-customer-id'
- $ref: '#/components/parameters/x-provider-name'
- name: contact_id
in: path
required: true
schema:
type: string
example: 0258cbc6-6020-430a-848e-aafacbadf4ae
get:
operationId: getContact
summary: Get contact
tags:
- Contacts
security:
- x-api-key: []
parameters:
- $ref: '#/components/parameters/include_raw_data'
- $ref: '#/components/parameters/associations_to_fetch'
responses:
'200':
description: Contact
content:
application/json:
schema:
$ref: '#/components/schemas/contact'
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
patch:
operationId: updateContact
summary: Update contact
tags:
- Contacts
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
record:
$ref: '#/components/schemas/create_update_contact'
required:
- record
examples:
Example:
value:
record:
first_name: George
last_name: Xing
account_id: 0ce05511-adbc-4144-a049-6631c7ea3b04
responses:
'200':
description: Contact updated
content:
application/json:
schema:
type: object
properties:
warnings:
$ref: '#/components/schemas/warnings'
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'409':
$ref: '#/components/responses/conflict'
'422':
$ref: '#/components/responses/unprocessableEntity'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
servers:
- url: https://api.supaglue.io/crm/v2
description: Supaglue API
components:
parameters:
page_size:
name: page_size
in: query
schema:
type: string
example: 123
description: 'Number of results to return per page. (Max: 1000)'
cursor:
name: cursor
in: query
schema:
type: string
example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw
description: The pagination cursor value
modified_after:
name: modified_after
in: query
schema:
type: string
format: date-time
description: If provided, will only return objects modified after this datetime. Datetime must be in ISO 8601 format and URI encoded.
example: '2023-02-23T00:00:00Z'
read_from_cache:
name: read_from_cache
in: query
schema:
type: boolean
example: true
description: "Whether to read from Supaglue's Managed Destination cache or to read directly from the provider. \n\n\n**NOTE**: `read_from_cache=true` requires you to have the object synced to the Supaglue Managed Destination.\n"
x-customer-id:
name: x-customer-id
in: header
schema:
type: string
example: my-customer-1
description: The customer ID that uniquely identifies the customer in your application
required: true
associations_to_fetch:
name: associations_to_fetch
in: query
schema:
type: array
items:
type: string
example: contact
description: 'List of associated objects to attempt to fetch associations for. Only relevant for hubspot and when `read_from_cache` is false.
'
include_raw_data:
name: include_raw_data
in: query
schema:
type: boolean
description: Whether to include raw data fetched from the 3rd party provider.
example: true
x-provider-name:
name: x-provider-name
in: header
schema:
type: string
example: salesforce
description: The provider name
required: true
remote_provider_page_size:
name: page_size
in: query
schema:
type: string
example: 100
description: 'Number of results to return per page. (Max: 100)'
schemas:
email_addresses:
type: array
items:
type: object
properties:
email_address:
type: string
example: hello@supaglue.com
email_address_type:
type: string
enum:
- primary
- work
- other
required:
- email_address
- email_address_type
example:
- email_address: hello@supaglue.com
email_address_type: work
lifecycle_stage:
type:
- string
- 'null'
enum:
- subscriber
- lead
- marketingqualifiedlead
- salesqualifiedlead
- opportunity
- customer
- evangelist
- other
addresses:
type: array
items:
type: object
properties:
address_type:
type: string
enum:
- primary
- mailing
- other
- billing
- shipping
city:
type:
- string
- 'null'
example: San Francisco
country:
type:
- string
- 'null'
example: USA
postal_code:
type:
- string
- 'null'
example: '94107'
state:
type:
- string
- 'null'
example: CA
street_1:
type:
- string
- 'null'
example: 525 Brannan
street_2:
type:
- string
- 'null'
example: null
required:
- address_type
- city
- country
- postal_code
- state
- street_1
- street_2
example:
- address_type: shipping
city: San Francisco
country: US
postal_code: '94107'
state: CA
street_1: 525 Brannan
street_2: null
errors:
type: array
items:
type: object
properties:
id:
type: string
description: A unique identifier for the instance of the error. Provide this to support when contacting Supaglue.
example: 9366efb4-8fb1-4a28-bfb0-8d6f9cc6b5c5
detail:
type: string
description: A detailed description of the error.
example: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]'
problem_type:
type: string
description: The Supaglue error code associated with the error.
example: MISSING_REQUIRED_FIELD
deprecated: true
title:
type: string
description: A brief description of the error. The schema and type of message will vary by Provider.
example: 'Property values were not valid
'
code:
type: string
description: The Supaglue error code associated with the error.
example: MISSING_REQUIRED_FIELD
status:
type: string
description: The HTTP status code associated with the error.
example: '400'
meta:
type: object
description: Additional metadata about the error.
properties:
cause:
type: object
description: The cause of the error. Usually the underlying error from the remote Provider.
example:
code: 400
body:
status: error
message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]'
correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
category: VALIDATION_ERROR
headers:
access-control-allow-credentials: 'false'
cf-cache-status: DYNAMIC
cf-ray: 8053d17b9dae9664-SJC
connection: close
content-length: '361'
content-type: application/json;charset=utf-8
date: Mon, 11 Sep 2023 23:51:22 GMT
nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}'
server: cloudflare
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: origin, Accept-Encoding
x-content-type-options: nosniff
x-envoy-upstream-service-time: '91'
x-evy-trace-listener: listener_https
x-evy-trace-route-configuration: listener_https/all
x-evy-trace-route-service-name: envoyset-translator
x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2
x-evy-trace-virtual-host: all
x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
x-hubspot-ratelimit-interval-milliseconds: '10000'
x-hubspot-ratelimit-max: '100'
x-hubspot-ratelimit-remaining: '99'
x-hubspot-ratelimit-secondly: '10'
x-hubspot-ratelimit-secondly-remaining: '9'
x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
x-trace: 2B1B4386362759B6A4C34802AD168B803DDC1BE770000000000000000000
origin:
type: string
enum:
- remote-provider
- supaglue
description: The origin of the error.
example: remote-provider
application_name:
type: string
description: The name of the application that generated the error.
example: MyCompany Production
required:
- origin
additionalProperties: true
required:
- id
- detail
- problem_type
- title
- code
- status
- meta
example:
- meta:
cause:
code: 400
body:
status: error
message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]'
correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
category: VALIDATION_ERROR
headers:
access-control-allow-credentials: 'false'
cf-cache-status: DYNAMIC
cf-ray: 8053d17b9dae9664-SJC
connection: close
content-length: '361'
content-type: application/json;charset=utf-8
date: Mon, 11 Sep 2023 23:51:22 GMT
nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}'
server: cloudflare
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: origin, Accept-Encoding
x-content-type-options: nosniff
x-envoy-upstream-service-time: '91'
x-evy-trace-listener: listener_https
x-evy-trace-route-configuration: listener_https/all
x-evy-trace-route-service-name: envoyset-translator
x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2
x-evy-trace-virtual-host: all
x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
x-hubspot-ratelimit-interval-milliseconds: '10000'
x-hubspot-ratelimit-max: '100'
x-hubspot-ratelimit-remaining: '99'
x-hubspot-ratelimit-secondly: '10'
x-hubspot-ratelimit-secondly-remaining: '9'
x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
x-trace: 2B1B4386362759B6A4C34802AD168B803DDC1BE770000000000000000000
detail: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\" does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property \"__about_us\" does not exist"}]'
problem_type: MISSING_REQUIRED_FIELD
title: 'Property values were not valid
'
code: MISSING_REQUIRED_FIELD
status: '400'
id: 9366efb4-8fb1-4a28-bfb0-8d6f9cc6b5c5
contact:
type: object
properties:
account_id:
type:
- string
- 'null'
example: fd089246-09b1-4e3b-a60a-7a76314bbcce
owner_id:
type:
- string
- 'null'
example: 23e640fe-6105-4a11-a636-3aa6b6c6e762
addresses:
$ref: '#/components/schemas/addresses'
email_addresses:
$ref: '#/components/schemas/email_addresses'
first_name:
type:
- string
- 'null'
example: George
id:
type: string
example: 54312
last_activity_at:
type:
- string
- 'null'
format: date-time
example: '2022-02-27T00:00:00Z'
last_name:
type:
- string
- 'null'
example: Xing
phone_numbers:
$ref: '#/components/schemas/phone_numbers'
lifecycle_stage:
$ref: '#/components/schemas/lifecycle_stage'
created_at:
type:
- string
- 'null'
format: date-time
example: '2022-02-27T00:00:00Z'
updated_at:
type:
- string
- 'null'
format: date-time
example: '2022-02-27T00:00:00Z'
is_deleted:
type: boolean
example: false
last_modified_at:
type: string
format: date-time
example: '2022-02-27T00:00:00Z'
raw_data:
type: object
additionalProperties: true
required:
- account_id
- owner_id
- description
- id
- addresses
- email_addresses
- first_name
- last_activity_at
- last_name
- phone_numbers
- lifecycle_stage
- created_at
- updated_at
- is_deleted
- last_modified_at
create_update_contact:
type: object
properties:
first_name:
type:
- string
- 'null'
example: George
last_name:
type:
- string
- 'null'
example: Xing
account_id:
type:
- string
- 'null'
example: 64571bff-48ea-4469-9fa0-ee1a0bab38bd
addresses:
$ref: '#/components/schemas/addresses'
email_addresses:
$ref: '#/components/schemas/email_addresses'
phone_numbers:
$ref: '#/components/schemas/phone_numbers'
owner_id:
type:
- string
- 'null'
example: 9f3e97fd-4d5d-4efc-959d-bbebfac079f5
lifecycle_stage:
$ref: '#/components/schemas/lifecycle_stage'
custom_fields:
$ref: '#/components/schemas/custom_fields'
warnings:
type: array
items:
type: object
properties:
detail:
type: string
problem_type:
type: string
title:
type: string
pagination:
type: object
properties:
next:
type:
- string
- 'null'
example: eyJpZCI6IjQyNTc5ZjczLTg1MjQtNDU3MC05YjY3LWVjYmQ3MDJjNmIxNCIsInJldmVyc2UiOmZhbHNlfQ==
previous:
type:
- string
- 'null'
example: eyJpZCI6IjBjZDhmYmZkLWU5NmQtNDEwZC05ZjQxLWIwMjU1YjdmNGI4NyIsInJldmVyc2UiOnRydWV9
total_count:
type: number
example: 100
required:
- next
- previous
custom_fields:
type: object
additionalProperties: true
description: Custom properties to be inserted that are not covered by the common object. Object keys must match exactly to the corresponding provider API.
created_record:
type: object
properties:
id:
type: string
required:
- id
phone_numbers:
type: array
items:
type: object
properties:
phone_number:
type:
- string
- 'null'
example: '+14151234567'
phone_number_type:
type: string
enum:
- primary
- mobile
- fax
- other
required:
- phone_number
- phone_number_type
example:
- phone_number: '+14151234567'
phone_number_type: primary
email_addresses_2:
type: array
items:
type: object
properties:
email_address:
type: string
example: hello@supaglue.com
email_address_type:
type:
- string
- 'null'
enum:
- primary
- personal
- work
required:
- email_address
- email_address_type
example:
- email_address: hello@supaglue.com
email_address_type: work
contact_2:
type: object
properties:
id:
type: string
example: 54312
owner_id:
type:
- string
- 'null'
example: 23e640fe-6105-4a11-a636-3aa6b6c6e762
account_id:
type:
- string
- 'null'
example: 45edea5a-0b9a-44ff-bd45-4452014eb4fa
first_name:
type:
- string
- 'null'
example: George
last_name:
type:
- string
- 'null'
example: Xing
job_title:
type:
- string
- 'null'
example: CEO
address:
$ref: '#/components/schemas/address'
email_addresses:
$ref: '#/components/schemas/email_addresses_2'
phone_numbers:
$ref: '#/components/schemas/phone_numbers_2'
open_count:
type: number
click_count:
type: number
reply_count:
type: number
bounced_count:
type: number
created_at:
type:
- string
- 'null'
format: date-time
example: '2022-02-27T00:00:00Z'
updated_at:
type:
- string
- 'null'
format: date-time
example: '2022-02-27T00:00:00Z'
is_deleted:
type: boolean
example: false
last_modified_at:
type: string
format: date-time
example: '2022-02-27T00:00:00Z'
raw_data:
type: object
additionalProperties: true
required:
- id
- owner_id
- first_name
- last_name
- job_title
- address
- email_addresses
- phone_numbers
- open_count
- click_count
- reply_count
- bounced_count
- created_at
- updated_at
- is_deleted
- last_modified_at
create_contact:
type: object
properties:
first_name:
type:
- string
- 'null'
example: George
last_name:
type:
- string
- 'null'
example: Xing
job_title:
type:
- string
- 'null'
example: CEO
address:
$ref: '#/components/schemas/address'
email_addresses:
$ref: '#/components/schemas/email_addresses_2'
phone_numbers:
$ref: '#/components/schemas/phone_numbers_2'
owner_id:
type:
- string
- 'null'
example: 9f3e97fd-4d5d-4efc-959d-bbebfac079f5
account_id:
type:
- string
- 'null'
example: ae4be028-9078-4850-a0bf-d2112b7c4d11
custom_fields:
$ref: '#/components/schemas/custom_fields'
address:
type:
- object
- 'null'
properties:
city:
type:
- string
- 'null'
example: San Francisco
country:
type:
- string
- 'null'
example: USA
postal_code:
type:
- string
- 'null'
example: '94107'
state:
type:
- string
- 'null'
example: CA
street_1:
type:
- string
- 'null'
example: 525 Brannan
street_2:
type:
- string
- 'null'
example: null
required:
- city
- country
- postal_code
- state
- street_1
- street_2
example:
- city: San Francisco
country: US
postal_c
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/supaglue/refs/heads/main/openapi/supaglue-contacts-api-openapi.yml