Säkerhet och tillit · DomScan-produkt

E-postautentisering API-referens

Analysera e-postautentiseringsposter inklusive SPF, DKIM och DMARC.

Det här får du

Analysera e-postautentiseringsposter inklusive SPF, DKIM och DMARC.

SynkrontBulkRESTMCPSDKInteraktivt verktyg

Välj denna produkt när

Vem är det till för?

Använd avgränsade passiva kontroller för att berika triage och utredning, inte för att ersätta auktoriserad testning eller mänsklig granskning.

Välj denna produkt när

Välj detta för att inspektera SPF, DKIM, DMARC och relaterad e-postautentiseringsstatus för en domän.

Det här får du

Analysera e-postautentiseringsposter inklusive SPF, DKIM och DMARC.

Endpoints

Granska stödda operationer, indata, utdata, körningslägen och svarsbegränsningar innan du integrerar.

GET /v1/email-auth Visa API-referens
POST /v1/email-auth/bulk Visa API-referens
POST /v1/tools/spf/build Visa API-referens
POST /v1/tools/spf/validate Visa API-referens
POST /v1/tools/spf/flatten Visa API-referens
POST /v1/tools/dmarc/build Visa API-referens
POST /v1/tools/dmarc/validate Visa API-referens
GET /v1/tools/dkim/check Visa API-referens
GET /v1/tools/dkim/discover Visa API-referens

Credits och autentisering

1-3 Autentisering krävs. Se operationsreferensen för exakt kostnad och eventuell prissättning per objekt.

Exempel på operation

Använd dokumenterade operationer för att samla in, bedöma, berika, verifiera, jämföra, skydda eller övervaka offentliga bevis.

GET /v1/email-auth

Frågeparametrar

Parameter Typ obligatorisk
domain string obligatorisk
selectors string valfri

Svarsfält

Fält Typ
domain string
spf object
spf.record string | null
spf.lookup_estimate integer
spf.includes[] string[]
spf.redirect string | null
spf.macros_present boolean
spf.macro_references[] string[]
spf.lookup_walk_count integer
spf.lookup_limit_exceeded boolean
spf.walk[] object[]
spf.walk[] object
spf.walk[].domain string
spf.walk[].depth integer
spf.walk[].record string
spf.walk[].mechanisms[] string[]
spf.walk[].includes[] string[]
spf.walk[].redirect string | null
spf.walk[].direct_lookup_count integer
spf.walk[].total_lookup_count integer
spf.walk[].macros_present boolean
spf.walk[].macro_references[] string[]
spf.walk[].multiple_records integer
spf.walk_errors[] string[]
spf.lookup_tree object
spf.lookup_tree.root_domain string
spf.lookup_tree.node_count integer
spf.lookup_tree.max_depth integer
spf.lookup_tree.cycles_detected[] string[]
spf.lookup_tree.nodes[] object[]
spf.lookup_tree.nodes[] object
spf.lookup_tree.nodes[].domain string
spf.lookup_tree.nodes[].depth integer
spf.lookup_tree.nodes[].status string
spf.lookup_tree.nodes[].direct_lookup_count integer
spf.lookup_tree.nodes[].total_lookup_count integer
spf.lookup_tree.nodes[].includes[] string[]
spf.lookup_tree.nodes[].redirect string | null
spf.lookup_tree.nodes[].mechanisms[] string[]
spf.lookup_tree.nodes[].errors[] string[]
spf.lookup_tree.edges[] object[]
spf.lookup_tree.edges[] object
spf.lookup_tree.edges[].from string
spf.lookup_tree.edges[].to string
spf.lookup_tree.edges[].type string
dkim[] object[]
dkim[] object
dkim[].selector string
dkim[].record string | null
dkim[].key_type string | null
dkim[].key_size integer | null
dkim_audit object
dkim_audit.selectors_checked[] string[]
dkim_audit.selectors_found[] object[]
dkim_audit.selectors_found[] object
dkim_audit.selectors_found[].selector string
dkim_audit.selectors_found[].dns_name string
dkim_audit.selectors_found[].record string | null
dkim_audit.selectors_found[].record_type string | null
dkim_audit.selectors_found[].cname_targets[] string[]
dkim_audit.selectors_found[].provider_hint string | null
dkim_audit.selectors_found[].key_type string | null
dkim_audit.selectors_found[].key_size integer | null
dkim_audit.selectors_found[].valid boolean
dkim_audit.selectors_found[].revoked boolean
dkim_audit.selectors_found[].weak boolean
dkim_audit.selectors_found[].hash_algorithms[] string[]
dkim_audit.selectors_found[].service_type string | null
dkim_audit.selectors_found[].flags[] string[]
dkim_audit.selectors_found[].issues[] string[]
dkim_audit.total_found integer
dkim_audit.providers_detected[] string[]
dkim_audit.valid_selector_count integer
dkim_audit.weak_selector_count integer
dkim_audit.revoked_selector_count integer
bimi object
bimi.exists boolean
bimi.record string | null
bimi.valid boolean
bimi.logo_url string | null
bimi.authority_url string | null
bimi.logo_fetch_ok boolean | null
bimi.logo_http_status integer | null
bimi.logo_content_type string | null
bimi.logo_bytes integer | null
bimi.logo_svg_detected boolean | null
bimi.vmc_present boolean
bimi.vmc_fetched boolean | null
bimi.vmc_http_status integer | null
bimi.vmc_content_type string | null
bimi.vmc_certificate_valid boolean | null
bimi.vmc_subject string | null
bimi.vmc_issuer string | null
bimi.vmc_not_before string | null
bimi.vmc_not_after string | null
bimi.vmc_days_to_expiry integer | null
bimi.vmc_fingerprint_sha256 string | null
bimi.vmc_san_domains[] string[]
bimi.errors[] string[]
dmarc object
dmarc.record string | null
dmarc.tags object
mta_sts object
mta_sts.exists boolean
mta_sts.record string | null
mta_sts.valid boolean
mta_sts.policy_id string | null
mta_sts.policy_fetch_ok boolean
mta_sts.policy_http_status integer | null
mta_sts.mode string | null
mta_sts.max_age integer | null
mta_sts.mx_hosts[] string[]
mta_sts.mx_records[] string[]
mta_sts.policy_matches_mx boolean | null
mta_sts.uncovered_mx[] string[]
mta_sts.errors[] string[]
tls_rpt object
tls_rpt.exists boolean
tls_rpt.record string | null
tls_rpt.valid boolean
tls_rpt.rua[] string[]
tls_rpt.errors[] string[]
client_access object
client_access.provider_hint object
client_access.provider_hint.id string
client_access.provider_hint.name string
client_access.mx_records[] string[]
client_access.services[] object[]
client_access.services[] object
client_access.services[].service string
client_access.services[].host string
client_access.services[].port integer
client_access.services[].source string
client_access.services[].priority integer | null
client_access.services[].weight integer | null
client_access.services[].tls_mode string
client_access.services[].reachable boolean
client_access.services[].tls_negotiated boolean
client_access.services[].starttls_offered boolean | null
client_access.services[].protocol string | null
client_access.services[].cipher string | null
client_access.services[].certificate object
client_access.services[].certificate.subject string
client_access.services[].certificate.issuer string
client_access.services[].certificate.not_before string
client_access.services[].certificate.not_after string
client_access.services[].certificate.days_to_expiry integer
client_access.services[].certificate.expired boolean
client_access.services[].certificate.san_domains[] string[]
client_access.services[].certificate.public_key_type string | null
client_access.services[].certificate.public_key_bits integer | null
client_access.services[].certificate.fingerprint_sha256 string | null
client_access.services[].certificate.hostname_match boolean | null
client_access.services[].certificate.chain_valid boolean
client_access.services[].certificate.chain_error string | null
client_access.services[].chain_depth integer
client_access.services[].error string | null
client_access.reachable_service_count integer
client_access.secure_service_count integer
autodiscover object
autodiscover.provider_hint object
autodiscover.provider_hint.id string
autodiscover.provider_hint.name string
autodiscover.mx_records[] string[]
autodiscover.srv object
autodiscover.srv.autodiscover[] object[]
autodiscover.srv.autodiscover[] object
autodiscover.srv.autodiscover[].priority integer
autodiscover.srv.autodiscover[].weight integer
autodiscover.srv.autodiscover[].port integer
autodiscover.srv.autodiscover[].target string
autodiscover.srv.submission[] object[]
autodiscover.srv.submission[] object
autodiscover.srv.submission[].priority integer
autodiscover.srv.submission[].weight integer
autodiscover.srv.submission[].port integer
autodiscover.srv.submission[].target string
autodiscover.srv.submissions[] object[]
autodiscover.srv.submissions[] object
autodiscover.srv.submissions[].priority integer
autodiscover.srv.submissions[].weight integer
autodiscover.srv.submissions[].port integer
autodiscover.srv.submissions[].target string
autodiscover.srv.imap[] object[]
autodiscover.srv.imap[] object
autodiscover.srv.imap[].priority integer
autodiscover.srv.imap[].weight integer
autodiscover.srv.imap[].port integer
autodiscover.srv.imap[].target string
autodiscover.srv.imaps[] object[]
autodiscover.srv.imaps[] object
autodiscover.srv.imaps[].priority integer
autodiscover.srv.imaps[].weight integer
autodiscover.srv.imaps[].port integer
autodiscover.srv.imaps[].target string
autodiscover.srv.pop3[] object[]
autodiscover.srv.pop3[] object
autodiscover.srv.pop3[].priority integer
autodiscover.srv.pop3[].weight integer
autodiscover.srv.pop3[].port integer
autodiscover.srv.pop3[].target string
autodiscover.srv.pop3s[] object[]
autodiscover.srv.pop3s[] object
autodiscover.srv.pop3s[].priority integer
autodiscover.srv.pop3s[].weight integer
autodiscover.srv.pop3s[].port integer
autodiscover.srv.pop3s[].target string
autodiscover.thunderbird_autoconfig object
autodiscover.thunderbird_autoconfig.subdomain object
autodiscover.thunderbird_autoconfig.subdomain.url string
autodiscover.thunderbird_autoconfig.subdomain.status_code integer | null
autodiscover.thunderbird_autoconfig.subdomain.content_type string | null
autodiscover.thunderbird_autoconfig.subdomain.final_url string | null
autodiscover.thunderbird_autoconfig.subdomain.redirect_count integer
autodiscover.thunderbird_autoconfig.subdomain.incoming[] object[]
autodiscover.thunderbird_autoconfig.subdomain.incoming[] object
autodiscover.thunderbird_autoconfig.subdomain.incoming[].type string
autodiscover.thunderbird_autoconfig.subdomain.incoming[].hostname string
autodiscover.thunderbird_autoconfig.subdomain.incoming[].port integer
autodiscover.thunderbird_autoconfig.subdomain.incoming[].socket_type string
autodiscover.thunderbird_autoconfig.subdomain.incoming[].username string
autodiscover.thunderbird_autoconfig.subdomain.outgoing[] object[]
autodiscover.thunderbird_autoconfig.subdomain.outgoing[] object
autodiscover.thunderbird_autoconfig.subdomain.outgoing[].type string
autodiscover.thunderbird_autoconfig.subdomain.outgoing[].hostname string
autodiscover.thunderbird_autoconfig.subdomain.outgoing[].port integer
autodiscover.thunderbird_autoconfig.subdomain.outgoing[].socket_type string
autodiscover.thunderbird_autoconfig.subdomain.outgoing[].username string
autodiscover.thunderbird_autoconfig.subdomain.error string | null
autodiscover.thunderbird_autoconfig.well_known object
autodiscover.thunderbird_autoconfig.well_known.url string
autodiscover.thunderbird_autoconfig.well_known.status_code integer | null
autodiscover.thunderbird_autoconfig.well_known.content_type string | null
autodiscover.thunderbird_autoconfig.well_known.final_url string | null
autodiscover.thunderbird_autoconfig.well_known.redirect_count integer
autodiscover.thunderbird_autoconfig.well_known.incoming[] object[]
autodiscover.thunderbird_autoconfig.well_known.incoming[] object
autodiscover.thunderbird_autoconfig.well_known.incoming[].type string
autodiscover.thunderbird_autoconfig.well_known.incoming[].hostname string
autodiscover.thunderbird_autoconfig.well_known.incoming[].port integer
autodiscover.thunderbird_autoconfig.well_known.incoming[].socket_type string
autodiscover.thunderbird_autoconfig.well_known.incoming[].username string
autodiscover.thunderbird_autoconfig.well_known.outgoing[] object[]
autodiscover.thunderbird_autoconfig.well_known.outgoing[] object
autodiscover.thunderbird_autoconfig.well_known.outgoing[].type string
autodiscover.thunderbird_autoconfig.well_known.outgoing[].hostname string
autodiscover.thunderbird_autoconfig.well_known.outgoing[].port integer
autodiscover.thunderbird_autoconfig.well_known.outgoing[].socket_type string
autodiscover.thunderbird_autoconfig.well_known.outgoing[].username string
autodiscover.thunderbird_autoconfig.well_known.error string | null
autodiscover.outlook_autodiscover object
autodiscover.outlook_autodiscover.url string
autodiscover.outlook_autodiscover.status_code integer | null
autodiscover.outlook_autodiscover.content_type string | null
autodiscover.outlook_autodiscover.final_url string | null
autodiscover.outlook_autodiscover.redirect_count integer
autodiscover.outlook_autodiscover.auth_required boolean | null
autodiscover.outlook_autodiscover.error string | null
autodiscover.recommended[] object[]
autodiscover.recommended[] object
autodiscover.recommended[].service string
autodiscover.recommended[].host string
autodiscover.recommended[].port integer
autodiscover.recommended[].tls_mode string
autodiscover.recommended[].source string
edge_summary object
edge_summary.relay_configured boolean
edge_summary.evidence_sources[] string[]
edge_summary.spf_lookup_count integer | null
edge_summary.spf_lookup_limit_exceeded boolean
edge_summary.dkim_valid_selector_count integer
edge_summary.dkim_weak_selector_count integer
edge_summary.dkim_revoked_selector_count integer
edge_summary.providers_detected[] string[]
edge_summary.mta_sts_enforced boolean
edge_summary.tls_rpt_configured boolean
edge_summary.bimi_logo_verified boolean | null
edge_summary.vmc_certificate_valid boolean | null
edge_summary.client_access_reachable_services integer | null
edge_summary.client_access_secure_services integer | null
edge_summary.autodiscover_recommendation_count integer | null
provider_selector_recommendations[] object[]
provider_selector_recommendations[] object
provider_selector_recommendations[].provider string
provider_selector_recommendations[].selectors[] string[]
provider_selector_recommendations[].source string
provider_selector_recommendations[].checked_selectors[] string[]
provider_selector_recommendations[].found_selectors[] string[]
provider_selector_recommendations[].missing_selectors[] string[]
grade string
notes[] string[]

Exempelbegäran

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/email-auth?domain=example.com&selectors=google%2Cselector1%2Csendgrid"

Exempelsvar

{
  "domain": "google.com",
  "spf": {
    "record": "v=spf1 include:_spf.google.com ~all",
    "lookup_estimate": 1,
    "includes": [
      "_spf.google.com"
    ],
    "redirect": null,
    "macros_present": false,
    "macro_references": [],
    "lookup_walk_count": 1,
    "lookup_limit_exceeded": false,
    "walk": [
      {
        "domain": "google.com",
        "depth": 0,
        "record": "v=spf1 include:_spf.google.com ~all",
        "mechanisms": [
          "include:_spf.google.com",
          "~all"
        ],
        "includes": [
          "_spf.google.com"
        ],
        "redirect": null,
        "direct_lookup_count": 1,
        "total_lookup_count": 1,
        "macros_present": false,
        "macro_references": [],
        "multiple_records": 1
      }
    ],
    "walk_errors": [],
    "lookup_tree": {
      "root_domain": "google.com",
      "node_count": 1,
      "max_depth": 0,
      "cycles_detected": [],
      "nodes": [
        {
          "domain": "google.com",
          "depth": 0,
          "status": "present",
          "direct_lookup_count": 1,
          "total_lookup_count": 1,
          "includes": [
            "_spf.google.com"
          ],
          "redirect": null,
          "mechanisms": [
            "include:_spf.google.com",
            "~all"
          ],
          "errors": []
        }
      ],
      "edges": [
        {
          "from": "google.com",
          "to": "_spf.google.com",
          "type": "include"
        }
      ]
    }
  },
  "dkim": [
    {
      "selector": "google",
      "record": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A",
      "key_type": "rsa",
      "key_size": 2048
    }
  ],
  "dkim_audit": {
    "selectors_checked": [
      "google",
      "default",
      "selector1",
      "selector2"
    ],
    "selectors_found": [
      {
        "selector": "google",
        "dns_name": "google._domainkey.google.com",
        "record": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A",
        "record_type": "TXT",
        "cname_targets": [],
        "provider_hint": "Google Workspace",
        "key_type": "rsa",
        "key_size": 2048,
        "valid": true,
        "revoked": false,
        "weak": false,
        "hash_algorithms": [
          "sha256"
        ],
        "service_type": "email",
        "flags": [
          "s"
        ],
        "issues": []
      }
    ],
    "total_found": 1,
    "providers_detected": [
      "Google Workspace"
    ],
    "valid_selector_count": 1,
    "weak_selector_count": 0,
    "revoked_selector_count": 0
  },
  "bimi": {
    "exists": true,
    "record": "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem",
    "valid": true,
    "logo_url": "https://example.com/logo.svg",
    "authority_url": "https://example.com/vmc.pem",
    "logo_fetch_ok": true,
    "logo_http_status": 200,
    "logo_content_type": "image/svg+xml",
    "logo_bytes": 2048,
    "logo_svg_detected": true,
    "vmc_present": true,
    "vmc_fetched": true,
    "vmc_http_status": 200,
    "vmc_content_type": "application/x-pem-file",
    "vmc_certificate_valid": true,
    "vmc_subject": "/CN=Example Inc VMC",
    "vmc_issuer": "/CN=Example Issuer",
    "vmc_not_before": "2026-01-01T00:00:00Z",
    "vmc_not_after": "2027-01-01T00:00:00Z",
    "vmc_days_to_expiry": 258,
    "vmc_fingerprint_sha256": "AA:BB:CC:DD",
    "vmc_san_domains": [
      "google.com"
    ],
    "errors": []
  },
  "dmarc": {
    "record": "v=DMARC1; p=reject; rua=mailto:[email protected]",
    "tags": {
      "v": "DMARC1",
      "p": "reject",
      "rua": "mailto:[email protected]"
    }
  },
  "mta_sts": {
    "exists": true,
    "record": "v=STSv1; id=2024010101Z",
    "valid": true,
    "policy_id": "2024010101Z",
    "policy_fetch_ok": true,
    "policy_http_status": 200,
    "mode": "enforce",
    "max_age": 86400,
    "mx_hosts": [
      "*.google.com"
    ],
    "mx_records": [
      "aspmx.l.google.com"
    ],
    "policy_matches_mx": true,
    "uncovered_mx": [],
    "errors": []
  },
  "tls_rpt": {
    "exists": true,
    "record": "v=TLSRPTv1; rua=mailto:[email protected]",
    "valid": true,
    "rua": [
      "mailto:[email protected]"
    ],
    "errors": []
  },
  "client_access": {
    "provider_hint": {
      "id": "google_workspace",
      "name": "Google Workspace"
    },
    "mx_records": [
      "aspmx.l.google.com"
    ],
    "services": [
      {
        "service": "imap",
        "host": "imap.gmail.com",
        "port": 993,
        "source": "provider_default",
        "priority": null,
        "weight": null,
        "tls_mode": "implicit",
        "reachable": true,
        "tls_negotiated": true,
        "starttls_offered": null,
        "protocol": "TLSv1.3",
        "cipher": "TLS_AES_256_GCM_SHA384",
        "certificate": {
          "subject": "/CN=imap.gmail.com",
          "issuer": "/CN=WR2",
          "not_before": "2026-01-01T00:00:00Z",
          "not_after": "2026-07-01T00:00:00Z",
          "days_to_expiry": 70,
          "expired": false,
          "san_domains": [
            "imap.gmail.com"
          ],
          "public_key_type": "EC",
          "public_key_bits": 256,
          "fingerprint_sha256": "CC:DD:EE:FF",
          "hostname_match": true,
          "chain_valid": true,
          "chain_error": null
        },
        "chain_depth": 2,
        "error": null
      }
    ],
    "reachable_service_count": 1,
    "secure_service_count": 1
  },
  "autodiscover": {
    "provider_hint": {
      "id": "google_workspace",
      "name": "Google Workspace"
    },
    "mx_records": [
      "aspmx.l.google.com"
    ],
    "srv": {
      "autodiscover": [],
      "submission": [],
      "submissions": [],
      "imap": [],
      "imaps": [],
      "pop3": [],
      "pop3s": []
    },
    "thunderbird_autoconfig": {
      "subdomain": {
        "url": "https://autoconfig.google.com/mail/config-v1.1.xml?emailaddress=postmaster%40google.com",
        "status_code": 404,
        "content_type": "text/html",
        "final_url": "https://autoconfig.google.com/mail/config-v1.1.xml?emailaddress=postmaster%40google.com",
        "redirect_count": 0,
        "incoming": [],
        "outgoing": [],
        "error": null
      },
      "well_known": {
        "url": "https://google.com/.well-known/autoconfig/mail/config-v1.1.xml?emailaddress=postmaster%40google.com",
        "status_code": 200,
        "content_type": "application/xml",
        "final_url": "https://google.com/.well-known/autoconfig/mail/config-v1.1.xml?emailaddress=postmaster%40google.com",
        "redirect_count": 0,
        "incoming": [
          {
            "type": "imap",
            "hostname": "imap.gmail.com",
            "port": 993,
            "socket_type": "SSL"
          }
        ],
        "outgoing": [
          {
            "type": "smtp",
            "hostname": "smtp.gmail.com",
            "port": 587,
            "socket_type": "STARTTLS"
          }
        ],
        "error": null
      }
    },
    "outlook_autodiscover": {
      "url": "https://autodiscover.google.com/autodiscover/autodiscover.xml",
      "status_code": 401,
      "content_type": "text/html",
      "final_url": "https://autodiscover.google.com/autodiscover/autodiscover.xml",
      "redirect_count": 0,
      "auth_required": true,
      "error": null
    },
    "recommended": [
      {
        "service": "imap",
        "host": "imap.gmail.com",
        "port": 993,
        "tls_mode": "implicit",
        "source": "provider_default"
      }
    ]
  },
  "edge_summary": {
    "relay_configured": true,
    "evidence_sources": [
      "spf_walk",
      "mail_policies",
      "bimi_audit",
      "dkim_audit",
      "mail_client_access",
      "mail_autodiscover"
    ],
    "spf_lookup_count": 1,
    "spf_lookup_limit_exceeded": false,
    "dkim_valid_selector_count": 1,
    "dkim_weak_selector_count": 0,
    "dkim_revoked_selector_count": 0,
    "providers_detected": [
      "Google Workspace"
    ],
    "mta_sts_enforced": true,
    "tls_rpt_configured": true,
    "bimi_logo_verified": true,
    "vmc_certificate_valid": true,
    "client_access_reachable_services": 1,
    "client_access_secure_services": 1,
    "autodiscover_recommendation_count": 1
  },
  "provider_selector_recommendations": [
    {
      "provider": "Google Workspace",
      "selectors": [
        "google",
        "20230601",
        "20210112"
      ],
      "source": "detected",
      "checked_selectors": [
        "google"
      ],
      "found_selectors": [
        "google"
      ],
      "missing_selectors": [
        "20230601",
        "20210112"
      ]
    }
  ],
  "grade": "A",
  "notes": []
}

Begränsningar och bevisgränser

Resultaten beskriver observerade offentliga bevis och deras ursprung.
Okänt betyder att den begärda uppgiften inte kunde fastställas utifrån tillgängliga bevis.
Bulkoperationer behandlar flera stödda indata och bevarar dokumenterade resultat per objekt.
Bevis kan förändras över tid. Använd tidsstämplar och fält för aktualitet när de finns.

Granskad 2026-08-22

Vanliga frågor

Var hittar jag request- och response-referensen för E-postautentisering?

Använd API-referensen för E-postautentisering för att granska parametrar, svarsfält, exempel, statuskoder och stödda körningslägen.

Hur ska jag tolka okända eller ofullständiga resultat från E-postautentisering?

Okända eller partiella resultat betyder att de begärda bevisen inte kunde fastställas helt. Behåll resultatstatus, konfidens, aktualitet och begränsningar i efterföljande beslut.

Hur prissätts E-postautentisering?

Priset beror på operation och körningsläge. Se endpointreferensen för aktuell creditkostnad, autentiseringskrav och regler per objekt.

Används av människor på fantastiska företag

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeMotionElementsLLM Pulse