Get dedicated IP status

GET/api/v1/dedicated-ip
Requires anorganization API keywith the scopeaccount:read

Your dedicated sending address and its warm-up state. An organization on a shared IP gets a populated object whose state is shared and whose address is null — NOT a null result, and never an error. Reachable with an organization API key carrying account:read; a key without that scope is refused with 403.

Request

GET/api/v1/dedicated-ip
curl -X GET 'https://app.mailyte.com/api/v1/dedicated-ip' \
  -H 'Authorization: Bearer mk_live_YOUR_API_KEY'
The key names its own organization, so no X-Organization-ID header is needed.

Response

Success.

  • dataobject
    • objectstringdedicated_ip
    • statestringshared | requested | provisioning | warming | live | paused | quarantined

      Where your dedicated IP stands. - shared: you use the shared pool (the default). - requested: you applied and it is being reviewed. - provisioning: approved and being set up. - warming: assigned and ramping up; see warmup. - live: fully warmed and sending at full rate. - paused: sending stopped, the address kept. - quarantined: withdrawn because of a reputation problem.

    • addressstring

      Your dedicated IP address. Null until one is assigned.

    • spf_includestring

      What to add to your SPF record to allow this address, such as include:spf.your-slug.example. Null until an address is assigned.

    • requested_atstring

      When you applied for a dedicated IP. Null if you never have.

    • live_atstring

      When the address finished warming and began sending at full rate. Null until then; state says where it is.

    • warmupobject

      The warm-up, while it runs. Null when there is none. If state is warming and this is null, the figures could not be read: try again.

      • dayinteger

        The day of the warm-up schedule.

      • daily_limitinteger

        How many recipients this address may take today.

      • sent_todayinteger

        Recipients this address has taken today.

      • remaininginteger

        How many more recipients it may take today: daily_limit minus sent_today, never below 0.

      • completes_onstring

        When the warm-up is due to finish. Null when it cannot be worked out.

    • termsobject

      The dedicated-IP addendum, as it stands for this organization.

      • version_in_forcestring

        The version of the dedicated IP terms a new application must accept.

      • accepted_versionstring

        The version of the terms you accepted. Null when you have not accepted any. It can be older than version_in_force; that is normal.

      • accepted_atstring

        When you accepted the terms. Null when you have not.

    • eligibilityobject

      Whether a dedicated IP can be requested, and the figures worth seeing before deciding to.

      • can_requestboolean

        Whether a request would be accepted right now. Governed by requirements alone; everything else in this object is disclosure and never blocks a request.

      • requirementsobject

        The two HARD requirements. Both must be true for can_request.

        • domain_verifiedboolean

          At least one domain verified for sending. See verified_domains for which.

        • marketing_approvedboolean
      • verified_domainsarray<string>

        Domain NAMES, not ids — the list that satisfies domain_verified, readable without a second lookup.

      • monthly_volumeinteger

        Emails you sent in the last 30 days.

      • volume_thresholdinteger

        The monthly volume at which a dedicated IP starts to pay off. Compare it with monthly_volume.

      • bounce_ratenumber

        The percentage of the last 30 days' deliveries that bounced. Null when nothing was sent.

    • can_return_to_sharedboolean

      Whether this organization may move back to the shared pool, which the addendum permits at any time. It is also how an application is withdrawn.

Returned inside the standard envelope.

Errors

StatusWhen
401The API key is missing, unknown, revoked or expired. All four answer identically, on purpose: distinguishing them would confirm which keys exist.
403The key is valid but may not do this: it lacks the required scope, its IP allowlist does not include you, or this endpoint does not accept API keys.
404No such resource in this organization.
422The request was understood but the values were not acceptable.
429Too many requests, or the organization has spent its sending allowance. `Retry-After` says how long to wait.

Every status, with what causes it and what to do, is on the error reference.