### GET /api/v1/companies/{company_id}/solicitation/interactions Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/solicitation/interactions ```markdown ### Parameters - **company_id** (integer, path, required) - **start_date** (string, query, required): Format: YYYY-MM-DD (within last 90 days) - **end_date** (string, query, required): Format: YYYY-MM-DD - **location_id** (integer, query, optional) ### Responses #### 200 - returns interactions within the date range Empty response body #### 400 - bad request when date format is invalid bad request when date format is invalid #### 401 - unauthorized given invalid token unauthorized given invalid token #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/solicitation/interactions?start_date=string&end_date=string&location_id=0" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys/{survey_id}/questions/{question_id} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys/{survey_id}/questions/{question_id} ```markdown ### Parameters - **company_id** (integer, path, required) - **survey_id** (integer, path, required) - **question_id** (integer, path, required) ### Responses #### 200 - retrieves the question Empty response body #### 400 - survey that doesn't belong to the company survey that doesn't belong to the company #### 401 - user doesn't have access to the survey user doesn't have access to the survey #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys/{survey_id}/questions/{question_id}" ``` ``` -------------------------------- ### GET /api/v1/companies Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies ```markdown ### Responses #### 200 - companies retrieved Empty response body #### 401 - unauthorized given invalid token unauthorized given invalid token #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/solicitation/interaction/{interaction_id} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/solicitation/interaction/{interaction_id} ```markdown ### Parameters - **company_id** (integer, path, required) - **interaction_id** (integer, path, required) ### Responses #### 200 - interaction retrieved Empty response body #### 400 - bad request given invalid interaction_id bad request given invalid interaction_id #### 401 - unauthorized given invalid token unauthorized given invalid token #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/solicitation/interaction/{interaction_id}" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys/{survey_id}/questions Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys/{survey_id}/questions ```markdown ### Parameters - **company_id** (integer, path, required) - **survey_id** (integer, path, required) - **question_type** (string, query, optional): Filter by question type ### Responses #### 200 - retrieves all questions of that question type for the survey Empty response body #### 400 - survey that doesn't belong to the company survey that doesn't belong to the company #### 401 - user doesn't have access to the survey user doesn't have access to the survey #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys/{survey_id}/questions?question_type=string" ``` ``` -------------------------------- ### GET /api/v1/blacklist Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml Returns all blacklist entries (opt-outs and opt-ins) across all companies that the authenticated user has access to. ```markdown ### Responses #### 200 - only returns blacklists for companies where user has company_management feature - Array of object - **id** (integer): The unique identifier of the blacklist entry - **contact** (string): The contact information (phone number or email address) that is blacklisted - **channel** (string (sms|email)): The communication channel for this blacklist entry. Accepted values: 'sms' or 'email' ("sms"|"email") - **created_at** (string (date-time)): Timestamp when this blacklist entry was created - **company** (object): The company this blacklist entry belongs to - **id** (integer) (required) - **name** (string) (required) #### 401 - unauthorized given invalid token unauthorized given invalid token #### 403 - forbidden when user doesn't have company_management feature for any company forbidden when user doesn't have company_management feature for any company #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/blacklist" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys/{survey_id}/questions/{question_id}/replies Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys/{survey_id}/questions/{question_id}/replies ```markdown ### Parameters - **company_id** (integer, path, required) - **survey_id** (integer, path, required) - **question_id** (integer, path, required) - **start_date** (string, query, required): Format: YYYY-MM-DD (inclusive, months start at 01, defaults to start of day) - Note: the span between start_date and end_date cannot exceed 3 months - **end_date** (string, query, required): Format: YYYY-MM-DD (inclusive, months start at 01, defaults to end of day) - Note: the span between start_date and end_date cannot exceed 3 months - **location_id** (integer, query, optional): Filter by location id ### Responses #### 200 - retrieves all replies Empty response body #### 400 - the span between start_date and end_date cannot exceed 3 months the span between start_date and end_date cannot exceed 3 months #### 401 - user has access to no locations user has access to no locations #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys/{survey_id}/questions/{question_id}/replies?start_date=string&end_date=string&location_id=0" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys ```markdown ### Parameters - **company_id** (integer, path, required) ### Responses #### 200 - retrieves all surveys the user has access to Empty response body #### 400 - bad request given an invalid company bad request given an invalid company #### 401 - user doesn't have access to the company user doesn't have access to the company #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys/{survey_id}/conversations/{conversation_id} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys/{survey_id}/conversations/{conversation_id} ```markdown ### Parameters - **company_id** (integer, path, required) - **survey_id** (integer, path, required) - **conversation_id** (integer, path, required) - **question_type** (string, query, optional): Filter by question type ### Responses #### 200 - retrieves the conversation Empty response body #### 400 - conversation_id is invalid conversation_id is invalid #### 401 - user doesn't have access to the conversation's location user doesn't have access to the conversation's location #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys/{survey_id}/conversations/{conversation_id}?question_type=string" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/locations Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/locations ```markdown ### Parameters - **company_id** (integer, path, required) ### Responses #### 200 - retrieves the locations the user has access to Empty response body #### 400 - bad request given an invalid company bad request given an invalid company #### 401 - user doesn't have access to the company user doesn't have access to the company #### 429 - too many requests too many requests ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/locations" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/locations/locationIdentifier/{location_identifier} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/locations/locationIdentifier/{location_identifier} ```markdown ### Parameters - **company_id** (integer, path, required) - **location_identifier** (string, path, required) ### Responses #### 200 - retrieves the location Empty response body #### 400 - bad request given invalid locationIdentifier bad request given invalid locationIdentifier #### 401 - user doesn't have access to the location user doesn't have access to the location ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/locations/locationIdentifier/{location_identifier}" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys/{survey_id}/questions/{question_id}/replies/transactions/{transaction_id} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys/{survey_id}/questions/{question_id}/replies/transactions/{transaction_id} ```markdown ### Parameters - **company_id** (integer, path, required) - **survey_id** (integer, path, required) - **question_id** (integer, path, required) - **transaction_id** (string, path, required) - **location_id** (integer, query, optional): Filter by location id ### Responses #### 200 - retrieves all replies for the given transaction id Empty response body #### 400 - transaction_id doesn't exist transaction_id doesn't exist #### 401 - user has access to no locations user has access to no locations #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys/{survey_id}/questions/{question_id}/replies/transactions/{transaction_id}?location_id=0" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys/{survey_id} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys/{survey_id} ```markdown ### Parameters - **company_id** (integer, path, required) - **survey_id** (integer, path, required) ### Responses #### 200 - retrieves the survey Empty response body #### 400 - survey that doesn't belong to the company survey that doesn't belong to the company #### 401 - user doesn't have access to the survey user doesn't have access to the survey #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys/{survey_id}" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/locations/{location_id} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/locations/{location_id} ```markdown ### Parameters - **company_id** (integer, path, required) - **location_id** (integer, path, required) ### Responses #### 200 - retrieves the location Empty response body #### 400 - bad request given an invalid location_id bad request given an invalid location_id #### 401 - user doesn't have access to the location_id user doesn't have access to the location_id #### 429 - too many requests too many requests ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/locations/{location_id}" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/blacklist Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml Returns all blacklist entries (opt-outs and opt-ins) for a specific company that the authenticated user has access to. ```markdown ### Parameters - **company_id** (integer, path, required) ### Responses #### 200 - returns all blacklist entries including opt-in - Array of object - **id** (integer): The unique identifier of the blacklist entry - **contact** (string): The contact information (phone number or email address) that is blacklisted - **channel** (string (sms|email)): The communication channel for this blacklist entry. Accepted values: 'sms' or 'email' ("sms"|"email") - **status** (string (opt-in|opt-out)) ("opt-in"|"opt-out") - **created_at** (string (date-time)): Timestamp when this blacklist entry was created - **updated_at** (string (date-time)) #### 400 - bad request given an invalid company bad request given an invalid company #### 401 - user doesn't have access to the company user doesn't have access to the company #### 403 - forbidden given the user doesn't have the company_management feature forbidden given the user doesn't have the company_management feature #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/blacklist" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys/{survey_id}/conversations/{conversation_id}/metadata Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys/{survey_id}/conversations/{conversation_id}/metadata ```markdown ### Parameters - **company_id** (integer, path, required) - **survey_id** (integer, path, required) - **conversation_id** (integer, path, required) ### Responses #### 200 - retrieves the metadata for the conversation - **status** (string) (required) (example: "success") - **metadata** (object) (required): Key-value pairs of metadata associated with the conversation. (example: {"issue_number":"ISS-12345","technician_id":"TECH001","order_type":"Online","shipment_option":"Pick Up","order_number":"nyqsth"}) #### 400 - conversation_id is invalid conversation_id is invalid #### 401 - user doesn't have access to the conversation's location user doesn't have access to the conversation's location #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys/{survey_id}/conversations/{conversation_id}/metadata" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys/{survey_id}/conversations Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys/{survey_id}/conversations ```markdown ### Parameters - **company_id** (integer, path, required) - **survey_id** (integer, path, required) - **start_date** (string, query, required): Format: YYYY-MM-DD (inclusive, months start at 01, defaults to start of day) - Note: the span between start_date and end_date cannot exceed 3 months - **end_date** (string, query, required): Format: YYYY-MM-DD (inclusive, months start at 01, defaults to end of day) - Note: the span between start_date and end_date cannot exceed 3 months - **location_id** (integer, query, optional): Filter by location id - **question_type** (string, query, optional): Filter by question type ### Responses #### 200 - retrieves all conversations with plain phone numbers in replies Empty response body #### 400 - the span between start_date and end_date cannot exceed 3 months the span between start_date and end_date cannot exceed 3 months #### 401 - user has access to no locations user has access to no locations #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys/{survey_id}/conversations?start_date=string&end_date=string&location_id=0&question_type=string" ``` ``` -------------------------------- ### GET /api/v1/companies/{company_id}/surveys/{survey_id}/conversations/transactions/{transaction_id} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for GET /api/v1/companies/{company_id}/surveys/{survey_id}/conversations/transactions/{transaction_id} ```markdown ### Parameters - **company_id** (integer, path, required) - **survey_id** (integer, path, required) - **transaction_id** (string, path, required) - **location_id** (integer, query, optional): Filter by location id ### Responses #### 200 - retrieves all conversations for the given transaction id Empty response body #### 400 - transaction_id doesn't exist transaction_id doesn't exist #### 401 - user has access to no locations user has access to no locations #### 403 - user doesn't have access to surveys user doesn't have access to surveys #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X GET "https://api.example.com/api/v1/companies/{company_id}/surveys/{survey_id}/conversations/transactions/{transaction_id}?location_id=0" ``` ``` -------------------------------- ### API Overview: Chatter API Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml OpenAPI specification version v1 ```yaml # Chatter API # Version: v1 OpenAPI specification # Base URL: Not specified ``` -------------------------------- ### POST /api/v1/companies/{company_id}/blacklist Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml Creates a new blacklist entry for the specified company. Requires company access and validates that the entry doesn't already exist. ```markdown ### Parameters - **company_id** (integer, path, required) ### Request Body **Content-Type:** application/json - **contact** (string) (required): Phone number or email address to blacklist - **status** (string (opt-out)) (required): Blacklist status. Only 'opt-out' is allowed. ("opt-out") ### Responses #### 201 - normalizes phone number with formatting - **status** (string) (required) - **message** (string) (required) - **blacklist** (object) (required) - **id** (integer) (required) - **contact** (string) (required) - **channel** (string (sms|email)) (required) ("sms"|"email") - **status** (string (opt-in|opt-out)) (required) ("opt-in"|"opt-out") - **created_at** (string (date-time)) (required) - **updated_at** (string (date-time)) (required) #### 400 - bad request when contact format is invalid bad request when contact format is invalid #### 401 - user doesn't have access to the company user doesn't have access to the company #### 403 - forbidden given the user doesn't have the company_management feature forbidden given the user doesn't have the company_management feature #### 409 - conflict when blacklist entry already exists - **status** (string) (required) - **message** (string) (required) - **blacklist** (object) (required) - **id** (integer) (required) - **contact** (string) (required) - **channel** (string (sms|email)) (required) ("sms"|"email") - **status** (string (opt-in|opt-out)) (required) ("opt-in"|"opt-out") - **created_at** (string (date-time)) (required) - **updated_at** (string (date-time)) (required) #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X POST "https://api.example.com/api/v1/companies/{company_id}/blacklist" \ -H "Content-Type: application/json" \ -d '{ "contact": "string", "status": "opt-out" }' ``` ``` -------------------------------- ### Security: Api-Token Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml Security scheme: api_token ```markdown ## Security: Api-Token **Description:** Security scheme: api_token **Type:** apiKey ``` -------------------------------- ### POST /api/v1/companies/{company_id}/solicitation/interaction Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for POST /api/v1/companies/{company_id}/solicitation/interaction ```markdown ### Parameters - **company_id** (integer, path, required) ### Request Body **Content-Type:** application/json - **locationIdentifier** (string) (required) - **firstName** (string) - **lastName** (string) - **phoneNumber** (string) - **emailAddress** (string (email)) - **event** (string) (required) - **consent** (string) - **transactionId** (string) - **timestamp** (string (date-time)) - **metadata** (object) ### Responses #### 201 - interaction created without transactionId or timestamp when api_requirement_reenforcement is disabled Empty response body #### 400 - bad request given invalid company bad request given invalid company #### 401 - unauthorized given invalid token unauthorized given invalid token #### 403 - forbidden given company that does not have the solicitation feature forbidden given company that does not have the solicitation feature #### 409 - duplicate based on subset identifier fields duplicate based on subset identifier fields #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X POST "https://api.example.com/api/v1/companies/{company_id}/solicitation/interaction" \ -H "Content-Type: application/json" \ -d '{ "locationIdentifier": "string", "firstName": "string", "lastName": "string", "phoneNumber": "string", "emailAddress": "user@example.com", "event": "string", "consent": "string", "transactionId": "string", "timestamp": "2023-01-01T00:00:00Z", "metadata": "value" }' ``` ``` -------------------------------- ### POST /api/v1/companies/{company_id}/locations Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for POST /api/v1/companies/{company_id}/locations ```markdown ### Parameters - **company_id** (integer, path, required) ### Request Body **Content-Type:** application/json - **name** (string) (required) - **locationIdentifier** (string) (required) - **address** (string) - **postalCode** (string) - **country** (string) - **state** (string) - **city** (string) - **googlePlaceId** (string) - **status** (string (active|paused|closed)): Location status. Note: "pending" status cannot be set manually and is used internally when a location lacks required data. ("active"|"paused"|"closed") - **metadata** (object) ### Responses #### 200 - auto-matches high confidence Google Place ID when not provided Empty response body #### 201 - creates location without Google Place ID when no candidates found Empty response body #### 400 - bad request when googlePlaceId is invalid bad request when googlePlaceId is invalid #### 401 - user doesn't have access to the company user doesn't have access to the company #### 403 - forbidden given the user doesn't have the company_management feature forbidden given the user doesn't have the company_management feature #### 409 - location already exists location already exists #### 429 - too many requests too many requests ### Example Usage ```bash curl -X POST "https://api.example.com/api/v1/companies/{company_id}/locations" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "locationIdentifier": "string", "address": "string", "postalCode": "string", "country": "string", "state": "string", "city": "string", "googlePlaceId": "string", "status": "active", "metadata": "value" }' ``` ``` -------------------------------- ### PATCH /api/v1/companies/{company_id}/blacklist/{blacklist_id} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml Updates the status of a specific blacklist entry for the specified company. Only 'opt-out' status is allowed. Requires company access and validates that the entry belongs to the company. ```markdown ### Parameters - **company_id** (integer, path, required) - **blacklist_id** (integer, path, required) ### Request Body **Content-Type:** application/json - **status** (string (opt-out)) (required): The blacklist status. Only 'opt-out' is accepted. ("opt-out") ### Responses #### 200 - successfully updated blacklist entry - **status** (string) (required) - **message** (string) (required) - **blacklist** (object) (required) - **id** (integer) (required) - **contact** (string) (required) - **channel** (string (sms|email)) (required) ("sms"|"email") - **status** (string (opt-in|opt-out)) (required) ("opt-in"|"opt-out") - **created_at** (string (date-time)) (required) - **updated_at** (string (date-time)) (required) #### 400 - bad request when blacklist entry belongs to different company bad request when blacklist entry belongs to different company #### 401 - unauthorized given invalid token unauthorized given invalid token #### 403 - forbidden given the user doesn't have the company_management feature forbidden given the user doesn't have the company_management feature #### 429 - rate limit exceeded rate limit exceeded ### Example Usage ```bash curl -X PATCH "https://api.example.com/api/v1/companies/{company_id}/blacklist/{blacklist_id}" \ -H "Content-Type: application/json" \ -d '{ "status": "opt-out" }' ``` ``` -------------------------------- ### PATCH /api/v1/companies/{company_id}/locations/locationIdentifier/{location_identifier} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for PATCH /api/v1/companies/{company_id}/locations/locationIdentifier/{location_identifier} ```markdown ### Parameters - **company_id** (integer, path, required) - **location_identifier** (string, path, required) ### Request Body **Content-Type:** application/json - **name** (string) - **address** (string) - **postalCode** (string) - **country** (string) - **state** (string) - **city** (string) - **googlePlaceId** (string) - **status** (string (active|paused|closed)): Location status. Note: "pending" status cannot be set manually and is used internally when a location lacks required data. ("active"|"paused"|"closed") - **metadata** (object) ### Responses #### 200 - returns 200 OK when location updated with google_place_id via AI match Empty response body #### 201 - status remains pending when trying to activate when ai matching is unable to find a match Empty response body #### 400 - bad request given invalid locationIdentifier bad request given invalid locationIdentifier #### 401 - user doesn't have access to the company user doesn't have access to the company #### 403 - forbidden given the user doesn't have the company_management feature forbidden given the user doesn't have the company_management feature #### 409 - conflict when updating to a googlePlaceId that already exists via identifier endpoint conflict when updating to a googlePlaceId that already exists via identifier endpoint #### 429 - too many requests too many requests ### Example Usage ```bash curl -X PATCH "https://api.example.com/api/v1/companies/{company_id}/locations/locationIdentifier/{location_identifier}" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "address": "string", "postalCode": "string", "country": "string", "state": "string", "city": "string", "googlePlaceId": "string", "status": "active", "metadata": "value" }' ``` ``` -------------------------------- ### PATCH /api/v1/companies/{company_id}/locations/{location_id} Source: https://app.chatterresearch.com/api-docs/v1/openapi.yaml API endpoint for PATCH /api/v1/companies/{company_id}/locations/{location_id} ```markdown ### Parameters - **company_id** (integer, path, required) - **location_id** (integer, path, required) ### Request Body **Content-Type:** application/json - **name** (string) - **locationIdentifier** (string) - **address** (string) - **postalCode** (string) - **country** (string) - **state** (string) - **city** (string) - **googlePlaceId** (string) - **status** (string (active|paused|closed)): Location status. Note: "pending" status cannot be set manually and is used internally when a location lacks required data. ("active"|"paused"|"closed") - **metadata** (object) ### Responses #### 200 - auto-matches Google Place ID when updating address without googlePlaceId Empty response body #### 201 - status remains pending when trying to activate when ai matching is unable to find a match Empty response body #### 400 - rejects invalid googlePlaceId on update rejects invalid googlePlaceId on update #### 401 - user doesn't have access to the location_id user doesn't have access to the location_id #### 403 - forbidden given the user doesn't have the company_management feature forbidden given the user doesn't have the company_management feature #### 409 - location with new trigger already exists location with new trigger already exists #### 429 - too many requests too many requests ### Example Usage ```bash curl -X PATCH "https://api.example.com/api/v1/companies/{company_id}/locations/{location_id}" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "locationIdentifier": "string", "address": "string", "postalCode": "string", "country": "string", "state": "string", "city": "string", "googlePlaceId": "string", "status": "active", "metadata": "value" }' ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.