ApolloSignal.Client (apollo_signal v4.0.0)

Copy Markdown View Source

Main client for Apollo Signal API.

Summary

Functions

Access the apiKeys API domain.

Access the contactProperties API domain.

Access the contacts API domain.

Access the emails API domain.

Access the metrics API domain.

Access the projects API domain.

Access the segments API domain.

Access the sendingDomains API domain.

Access the suppressions API domain.

Access the topics API domain.

Access the webhooks API domain.

Types

t()

@type t() :: %ApolloSignal.Client{transport: ApolloSignal.Transport.t()}

Functions

add_contact_to_segment(client, project_id, contact_id, body, options \\ [])

@spec add_contact_to_segment(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  body :: ApolloSignal.Types.AddToSegmentBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

add_suppression(client, project_id, body, options \\ [])

@spec add_suppression(
  client :: t(),
  project_id :: String.t(),
  body :: ApolloSignal.Types.AddSuppressionBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.SuppressionResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

api_keys(client)

@spec api_keys(t()) :: ApolloSignal.Domains.ApiKeys.t()

Access the apiKeys API domain.

batch_send_emails(client, body, options \\ [])

@spec batch_send_emails(
  client :: t(),
  body :: ApolloSignal.Types.BatchSendRequest.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.BatchSendResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

bulk_cancel_emails(client, options \\ [])

@spec bulk_cancel_emails(client :: t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.BulkCancelResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

cancel_email(client, email_id, options \\ [])

@spec cancel_email(client :: t(), email_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.CancelResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

contact_properties(client)

@spec contact_properties(t()) :: ApolloSignal.Domains.ContactProperties.t()

Access the contactProperties API domain.

contacts(client)

@spec contacts(t()) :: ApolloSignal.Domains.Contacts.t()

Access the contacts API domain.

create_contact(client, project_id, body, options \\ [])

@spec create_contact(
  client :: t(),
  project_id :: String.t(),
  body :: ApolloSignal.Types.CreateContactBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ContactResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

create_contact_property(client, project_id, body, options \\ [])

@spec create_contact_property(
  client :: t(),
  project_id :: String.t(),
  body :: ApolloSignal.Types.CreateContactPropertyBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ContactPropertyResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

create_segment(client, project_id, body, options \\ [])

@spec create_segment(
  client :: t(),
  project_id :: String.t(),
  body :: ApolloSignal.Types.CreateSegmentBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.SegmentResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

create_topic(client, project_id, body, options \\ [])

@spec create_topic(
  client :: t(),
  project_id :: String.t(),
  body :: ApolloSignal.Types.CreateTopicBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.TopicResponse.t(), ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

create_webhook(client, project_id, body, options \\ [])

@spec create_webhook(
  client :: t(),
  project_id :: String.t(),
  body :: ApolloSignal.Types.CreateWebhookBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.WebhookCreateResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

delete_contact(client, project_id, contact_id, options \\ [])

@spec delete_contact(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

delete_contact_image(client, project_id, contact_id, options \\ [])

@spec delete_contact_image(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

delete_contact_property(client, project_id, property_id, options \\ [])

@spec delete_contact_property(
  client :: t(),
  project_id :: String.t(),
  property_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

delete_domain(client, project_id, domain_id, options \\ [])

@spec delete_domain(
  client :: t(),
  project_id :: String.t(),
  domain_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

delete_segment(client, project_id, segment_id, options \\ [])

@spec delete_segment(
  client :: t(),
  project_id :: String.t(),
  segment_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

delete_topic(client, project_id, topic_id, options \\ [])

@spec delete_topic(
  client :: t(),
  project_id :: String.t(),
  topic_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

delete_webhook(client, project_id, endpoint_id, options \\ [])

@spec delete_webhook(
  client :: t(),
  project_id :: String.t(),
  endpoint_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

emails(client)

@spec emails(t()) :: ApolloSignal.Domains.Emails.t()

Access the emails API domain.

export_api_key_usage(client, project_id, key_id, options \\ [])

@spec export_api_key_usage(
  client :: t(),
  project_id :: String.t(),
  key_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

export_suppressions(client, project_id, options \\ [])

@spec export_suppressions(
  client :: t(),
  project_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

get_api_key(client, project_id, key_id, options \\ [])

@spec get_api_key(
  client :: t(),
  project_id :: String.t(),
  key_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ApiKey.t(), ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_api_key_usage(client, project_id, key_id, options \\ [])

@spec get_api_key_usage(
  client :: t(),
  project_id :: String.t(),
  key_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ApiKeyUsageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_contact(client, project_id, contact_id, options \\ [])

@spec get_contact(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ContactResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_contact_activity(client, project_id, contact_id, options \\ [])

@spec get_contact_activity(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.get_contact_activity_response(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_contact_email_validation_status(client, project_id, contact_id, options \\ [])

@spec get_contact_email_validation_status(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.EmailValidationStatusResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_contact_engagement_score(client, project_id, contact_id, options \\ [])

@spec get_contact_engagement_score(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.EngagementScoreResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_contact_property(client, project_id, property_id, options \\ [])

@spec get_contact_property(
  client :: t(),
  project_id :: String.t(),
  property_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ContactPropertyResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_contact_topics(client, project_id, contact_id, options \\ [])

@spec get_contact_topics(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.get_contact_topics_response(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_domain(client, project_id, domain_id, options \\ [])

@spec get_domain(
  client :: t(),
  project_id :: String.t(),
  domain_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.DomainResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_email(client, email_id, options \\ [])

@spec get_email(client :: t(), email_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.EmailDetailResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_email_engagement(client, id, options \\ [])

@spec get_email_engagement(client :: t(), id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.EmailReadScrollAnalyticsResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_email_performance(client, id, options \\ [])

@spec get_email_performance(client :: t(), id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.EmailPerformanceResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_email_timeline(client, project_id, email_id, options \\ [])

@spec get_email_timeline(
  client :: t(),
  project_id :: String.t(),
  email_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.EmailTimelineResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_metrics_advisor(client, query \\ %{}, options \\ [])

@spec get_metrics_advisor(
  client :: t(),
  query :: ApolloSignal.Types.GetMetricsAdvisorQuery.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.AdvisorReportResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_project(client, project_id, options \\ [])

@spec get_project(client :: t(), project_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.ProjectResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_project_email(client, project_id, email_id, options \\ [])

@spec get_project_email(
  client :: t(),
  project_id :: String.t(),
  email_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.EmailDetailResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_project_metrics_summary(client, query \\ %{}, options \\ [])

@spec get_project_metrics_summary(
  client :: t(),
  query :: ApolloSignal.Types.GetProjectMetricsSummaryQuery.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ProjectMetricsSummaryResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_project_metrics_timeline(client, query \\ %{}, options \\ [])

@spec get_project_metrics_timeline(
  client :: t(),
  query :: ApolloSignal.Types.GetProjectMetricsTimelineQuery.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ProjectMetricsTimelineResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_segment(client, project_id, segment_id, options \\ [])

@spec get_segment(
  client :: t(),
  project_id :: String.t(),
  segment_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.SegmentResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_topic(client, project_id, topic_id, options \\ [])

@spec get_topic(
  client :: t(),
  project_id :: String.t(),
  topic_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.TopicResponse.t(), ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_topic_performance(client, id, query \\ %{}, options \\ [])

@spec get_topic_performance(
  client :: t(),
  id :: String.t(),
  query :: ApolloSignal.Types.GetTopicPerformanceQuery.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.TopicPerformanceResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_webhook(client, project_id, endpoint_id, options \\ [])

@spec get_webhook(
  client :: t(),
  project_id :: String.t(),
  endpoint_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.WebhookResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

get_webhook_delivery(client, project_id, endpoint_id, delivery_id, options \\ [])

@spec get_webhook_delivery(
  client :: t(),
  project_id :: String.t(),
  endpoint_id :: String.t(),
  delivery_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.WebhookDeliveryResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

import_suppressions(client, project_id, body, options \\ [])

@spec import_suppressions(
  client :: t(),
  project_id :: String.t(),
  body :: ApolloSignal.Types.SuppressionImportBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.SuppressionImportResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

issue_stream_token(client, project_id, options \\ [])

@spec issue_stream_token(
  client :: t(),
  project_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.StreamTokenResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_api_keys(client, project_id, options \\ [])

@spec list_api_keys(client :: t(), project_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.ListApiKeysResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_contact_properties(client, project_id, options \\ [])

@spec list_contact_properties(
  client :: t(),
  project_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ContactPropertyPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_contact_segments(client, project_id, contact_id, options \\ [])

@spec list_contact_segments(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.list_contact_segments_response(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_contacts(client, project_id, options \\ [])

@spec list_contacts(client :: t(), project_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.ContactPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_contacts_in_segment(client, project_id, segment_id, options \\ [])

@spec list_contacts_in_segment(
  client :: t(),
  project_id :: String.t(),
  segment_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.CursorPage.t(), ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_contacts_in_topic(client, project_id, topic_id, options \\ [])

@spec list_contacts_in_topic(
  client :: t(),
  project_id :: String.t(),
  topic_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.CursorPage.t(), ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_domains(client, project_id, options \\ [])

@spec list_domains(client :: t(), project_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.DomainListPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_emails(client, project_id, options \\ [])

@spec list_emails(client :: t(), project_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.EmailPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_projects(client, options \\ [])

@spec list_projects(client :: t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.ProjectPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_segments(client, project_id, options \\ [])

@spec list_segments(client :: t(), project_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.SegmentPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_suppressions(client, project_id, options \\ [])

@spec list_suppressions(client :: t(), project_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.SuppressionPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_topics(client, project_id, options \\ [])

@spec list_topics(client :: t(), project_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.TopicPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_webhook_deliveries(client, project_id, endpoint_id, options \\ [])

@spec list_webhook_deliveries(
  client :: t(),
  project_id :: String.t(),
  endpoint_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.WebhookDeliveryPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

list_webhooks(client, project_id, options \\ [])

@spec list_webhooks(client :: t(), project_id :: String.t(), options :: keyword()) ::
  {:ok, ApolloSignal.Types.WebhookPageResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

metrics(client)

@spec metrics(t()) :: ApolloSignal.Domains.Metrics.t()

Access the metrics API domain.

new(opts \\ [])

@spec new(keyword()) :: t()

projects(client)

@spec projects(t()) :: ApolloSignal.Domains.Projects.t()

Access the projects API domain.

record_contact_email_validation(client, project_id, contact_id, body, options \\ [])

@spec record_contact_email_validation(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  body :: ApolloSignal.Types.RecordValidationBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

refresh_contact_engagement_score(client, project_id, contact_id, options \\ [])

@spec refresh_contact_engagement_score(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.EngagementScoreResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

register_domain(client, project_id, body, options \\ [])

@spec register_domain(
  client :: t(),
  project_id :: String.t(),
  body :: ApolloSignal.Types.RegisterDomainRequest.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.DomainResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

remove_contact_from_segment(client, project_id, contact_id, segment_id, options \\ [])

@spec remove_contact_from_segment(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  segment_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

remove_suppression(client, project_id, email, options \\ [])

@spec remove_suppression(
  client :: t(),
  project_id :: String.t(),
  email :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

replay_webhook_delivery(client, project_id, endpoint_id, delivery_id, options \\ [])

@spec replay_webhook_delivery(
  client :: t(),
  project_id :: String.t(),
  endpoint_id :: String.t(),
  delivery_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

segments(client)

@spec segments(t()) :: ApolloSignal.Domains.Segments.t()

Access the segments API domain.

send_email(client, body, options \\ [])

@spec send_email(
  client :: t(),
  body :: ApolloSignal.Types.SendEmailRequest.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.SendEmailResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

sending_domains(client)

@spec sending_domains(t()) :: ApolloSignal.Domains.SendingDomains.t()

Access the sendingDomains API domain.

set_contact_image_url(client, project_id, contact_id, body, options \\ [])

@spec set_contact_image_url(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  body :: ApolloSignal.Types.SetImageUrlBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ContactResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

stream_email_events(client, options \\ [])

@spec stream_email_events(client :: t(), options :: keyword()) ::
  {:ok,
   ApolloSignal.Transport.SSEStream.t(
     ApolloSignal.Types.StreamEventResponse.t()
   )}
  | {:error, ApolloSignal.Errors.t()}

suppressions(client)

@spec suppressions(t()) :: ApolloSignal.Domains.Suppressions.t()

Access the suppressions API domain.

test_webhook(client, project_id, endpoint_id, options \\ [])

@spec test_webhook(
  client :: t(),
  project_id :: String.t(),
  endpoint_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.WebhookDeliveryResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

topics(client)

@spec topics(t()) :: ApolloSignal.Domains.Topics.t()

Access the topics API domain.

transport(client)

@spec transport(t()) :: ApolloSignal.Transport.t()

update_bimi(client, project_id, domain_id, body, options \\ [])

@spec update_bimi(
  client :: t(),
  project_id :: String.t(),
  domain_id :: String.t(),
  body :: ApolloSignal.Types.UpdateBimiRequest.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.DomainResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

update_contact(client, project_id, contact_id, body, options \\ [])

@spec update_contact(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  body :: ApolloSignal.Types.UpdateContactBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ContactResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

update_contact_property(client, project_id, property_id, body, options \\ [])

@spec update_contact_property(
  client :: t(),
  project_id :: String.t(),
  property_id :: String.t(),
  body :: ApolloSignal.Types.UpdateContactPropertyBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ContactPropertyResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

update_contact_topics(client, project_id, contact_id, body, options \\ [])

@spec update_contact_topics(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  body :: ApolloSignal.Types.UpdateTopicsBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Transport.metadata()} | {:error, ApolloSignal.Errors.t()}

update_project(client, project_id, body, options \\ [])

@spec update_project(
  client :: t(),
  project_id :: String.t(),
  body :: ApolloSignal.Types.UpdateProjectRequest.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ProjectResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

update_topic(client, project_id, topic_id, body, options \\ [])

@spec update_topic(
  client :: t(),
  project_id :: String.t(),
  topic_id :: String.t(),
  body :: ApolloSignal.Types.UpdateTopicBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.TopicResponse.t(), ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

update_webhook(client, project_id, endpoint_id, body, options \\ [])

@spec update_webhook(
  client :: t(),
  project_id :: String.t(),
  endpoint_id :: String.t(),
  body :: ApolloSignal.Types.UpdateWebhookBody.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.WebhookResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

upload_contact_image(client, project_id, contact_id, options \\ [])

@spec upload_contact_image(
  client :: t(),
  project_id :: String.t(),
  contact_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ContactResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

validate_links(client, body, options \\ [])

@spec validate_links(
  client :: t(),
  body :: ApolloSignal.Types.ValidateLinksRequest.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.ValidateLinksResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

verify_bimi(client, project_id, domain_id, options \\ [])

@spec verify_bimi(
  client :: t(),
  project_id :: String.t(),
  domain_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.DomainResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

verify_domain(client, project_id, domain_id, options \\ [])

@spec verify_domain(
  client :: t(),
  project_id :: String.t(),
  domain_id :: String.t(),
  options :: keyword()
) ::
  {:ok, ApolloSignal.Types.DomainResponse.t(),
   ApolloSignal.Transport.metadata()}
  | {:error, ApolloSignal.Errors.t()}

webhooks(client)

@spec webhooks(t()) :: ApolloSignal.Domains.Webhooks.t()

Access the webhooks API domain.