| Input | Type | Description |
|---|---|---|
| name | string | The domain name, Unicode or punycode. |
| Output | Type | Description |
|---|---|---|
| domain | ParkingDomain | The domain, plus sale: for_sale, bin_price, target_price, accept_offers. |
| Error key | Description |
|---|---|
| np_parking_api_error_domain_not_found | 404 No parked domain by that name is in your account. |
| Input | Type | Description |
|---|---|---|
| name | string | The domain name, Unicode or punycode. |
| Output | Type | Description |
|---|---|---|
| success | true |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 The domain cannot be removed from your account right now. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| name | string | The domain name, Unicode or punycode. |
| Output | Type | Description |
|---|---|---|
| success | true |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 The domain is not one you can ignore. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| name | string | The domain name, Unicode or punycode. |
| Output | Type | Description |
|---|---|---|
| settings | array | Keyed by setting name: value, source, domain_value, account_value. |
| Error key | Description |
|---|---|
| np_parking_api_error_domain_not_found | 404 No parked domain by that name is in your account. |
| Input | Type | Description |
|---|---|---|
| name | string | The domain name, Unicode or punycode. |
| settings | array | Setting name to new value (null to inherit). |
| Output | Type | Description |
|---|---|---|
| settings | array | The domain settings after the save, as GET parking/domain-settings. |
| Error key | Description |
|---|---|
| np_parking_api_error_unknown_settings | 400 A name in settings is not a setting. |
| np_parking_api_error_invalid_settings | 400 Some settings were refused; errors names each one. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| name | string | The domain name, Unicode or punycode. |
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 200 (default 50). |
| Output | Type | Description |
|---|---|---|
| versions | ParkingSettingsHistory[] | The domain's saves, newest first. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Input | Type | Description |
|---|---|---|
| name | string | The domain name, Unicode or punycode. |
| Output | Type | Description |
|---|---|---|
| domain | ParkingDomain | |
| entry | array | The latest import entry for it: entry_id, import_id, line, domain, was_added, was_updated, was_ignored, has_warning, has_error, approve_outcome, verify_outcome, notice. |
| Error key | Description |
|---|---|
| np_parking_api_error_domain_not_found | 404 No parked domain by that name is in your account. |
| np_parking_api_error_no_status | 404 The domain has never been through an import for your account. |
| Input | Type | Description |
|---|---|---|
| name | string | The domain name, Unicode or punycode. |
| Output | Type | Description |
|---|---|---|
| import | ParkingImport | The import that carries the check. |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 The domain is already in your account. |
| np_parking_api_error_domain_not_found | 404 The domain is not one you can see: not detected, not held before. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| state | string | One of my_domains (default), verified, unverified, detected, removed. |
| listing | string | all (default), for_sale or off_market: narrows my_domains and verified, as the site's list filter does. |
| query | string | Only domains whose name contains this text (Unicode or punycode), as the site's "Find domains" does. Applies to my_domains and verified. |
| type | string | full (default) or compact: full rows are what GET parking/domain answers for each domain, with its sale block; compact rows leave the sale block out. |
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 200 (default 50). |
| Output | Type | Description |
|---|---|---|
| domains | ParkingDomain[] | Domains on this page, each as GET parking/domain answers it unless type is compact. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Error key | Description |
|---|---|
| np_parking_api_error_invalid_state | 400 state is not one of the allowed values. |
| np_parking_api_error_invalid_listing | 400 listing is not all, for_sale or off_market. |
| Input | Type | Description |
|---|---|---|
| domains | string[] | Domain names, Unicode or punycode (or one string, one per line). |
| casing_mode | string | auto (default) or manual: whether to keep the casing you typed. |
| Output | Type | Description |
|---|---|---|
| import | ParkingImport |
| Error key | Description |
|---|---|
| np_parking_api_error_no_domains | 400 domains is empty. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| overrides_only | bool | Only domains with their own settings, and only those settings. |
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 200 (default 50). |
| Output | Type | Description |
|---|---|---|
| domains | array | Rows of domain (as in GET parking/domains) and settings (keyed by setting name: value, source, domain_value, account_value). |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Input | Type | Description |
|---|---|---|
| names | array | Domain names, Unicode or punycode, at most 500. |
| settings | array | Setting name to new value (null to inherit). |
| Output | Type | Description |
|---|---|---|
| saved | integer | How many domains were saved. |
| failed | integer | How many were not. |
| results | array | One row per name: name, ok, and for a failure error (an error code) and, for refused values, errors keyed by setting name. |
| Error key | Description |
|---|---|
| np_parking_api_error_no_domains | 400 names is empty. |
| np_parking_api_error_too_many_domains | 400 names holds more than 500 domains. |
| np_parking_api_error_unknown_settings | 400 A name in settings is not a setting. |
| np_parking_api_error_invalid_settings | 400 A value has the wrong type; errors names each one. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| action | string | retry, delete, approve, ignore or add_back. |
| names | string[] | The domains to act on, Unicode or punycode, at most 10,000. Not with all. |
| all | bool | Act on every domain on the tab instead of names. |
| state | string | The tab: my_domains (default), verified, unverified, detected or removed, as GET parking/domains. |
| listing | string | all (default), for_sale or off_market: narrows my_domains and verified, as the site's list filter does. |
| exclude_names | string[] | With all: domains to leave out, at most 10,000. |
| Output | Type | Description |
|---|---|---|
| success | true | |
| action | string | The action run. |
| matched | integer | How many domains the selection named. |
| applied | integer | How many the action changed; null while the work is still queued. |
| queued | bool | True when the selection is still being worked through in the background. |
| not_found | string[] | With names: the names, as sent, that are not on the tab. |
| Error key | Description |
|---|---|
| np_parking_api_error_bulk_action | 400 action is not one this tab offers; the message lists the ones it does. |
| np_parking_api_error_bulk_selection | 400 Neither names nor all, or both. |
| np_parking_api_error_bulk_too_many | 400 names or exclude_names holds more than 10,000. |
| np_parking_api_error_invalid_state | 400 state is not one of the allowed values. |
| np_parking_api_error_invalid_listing | 400 listing is not all, for_sale or off_market. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| query | string | What to search for. |
| exact | bool | Whole words only. |
| domain | string | Only mail to this parked domain (Unicode or punycode). |
| type | string | full (default) or compact: full rows are what GET parking/email/{id} answers for each message, headers and attachment names included; compact rows stop at the summary. |
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 100 (default 50). |
| Output | Type | Description |
|---|---|---|
| emails | ParkingEmail[] | Each as GET parking/email/{id} answers it unless type is compact. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Error key | Description |
|---|---|
| np_parking_api_error_no_query | 400 query is empty. |
| np_parking_api_error_query_too_long | 400 query is longer than 200 characters or 20 words. |
| np_parking_api_error_domain_not_found | 404 No parked domain by that name is in your account. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| ParkingEmail | With its headers and attachment names. |
| Error key | Description |
|---|---|
| np_parking_api_error_email_not_found | 404 No message by that id is in your catchall. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| data | binary | The message is output directly, not JSON. |
| Error key | Description |
|---|---|
| np_parking_api_error_email_not_found | 404 No message by that id is in your catchall, or its raw data is gone. |
| Input | Type | Description |
|---|---|---|
| match | string | Which mail: inbox (default: sender's domain contains or resembles a parked domain), domain_contains, domain_similarity, domain_contains_extension, all. |
| domain | string | Only mail to this parked domain (Unicode or punycode). |
| extensions | string | For domain_contains_extension: a comma-separated list of your parked extensions to keep (default all). |
| extension_locations | string | For domain_contains_extension: name, subdomain or both (comma-separated). |
| type | string | full (default) or compact: full rows are what GET parking/email/{id} answers for each message, headers and attachment names included; compact rows stop at the summary. |
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 100 (default 50). |
| Output | Type | Description |
|---|---|---|
| emails | ParkingEmail[] | Emails on this page, newest first, each as GET parking/email/{id} answers it unless type is compact. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Error key | Description |
|---|---|
| np_parking_api_error_invalid_email_filter | 400 match is not one of the allowed values. |
| np_parking_api_error_domain_not_found | 404 No parked domain by that name is in your account. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| export | ParkingExport |
| Error key | Description |
|---|---|
| np_parking_api_error_export_not_found | 404 No export by that id is in your account. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| data | binary | The CSV is output directly, not JSON. |
| Error key | Description |
|---|---|
| np_parking_api_error_export_not_found | 404 No export by that id is in your account. |
| np_parking_api_error_export_not_ready | 409 The export has not finished, or it failed. |
| Input | Type | Description |
|---|---|---|
| type | string | Only exports of this type: domains or inquiries. |
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 200 (default 50). |
| Output | Type | Description |
|---|---|---|
| exports | ParkingExport[] | Exports on this page. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Error key | Description |
|---|---|
| np_parking_api_error_invalid_export_type | 400 type is not domains or inquiries. |
| Input | Type | Description |
|---|---|---|
| type | string | domains or inquiries. |
| domain | string | Inquiries only: one domain's inquiries (Unicode or punycode). |
| status | string | Inquiries only: all (default), confirmed or unconfirmed. |
| delivery | string | Inquiries only: all (default), delivered or unsent. |
| order | string | Inquiries only: newest (default) or offer. |
| Output | Type | Description |
|---|---|---|
| export | ParkingExport |
| Error key | Description |
|---|---|
| np_parking_api_error_invalid_export_type | 400 type is not domains or inquiries. |
| np_parking_api_error_invalid_export_filter | 400 status, delivery or order is not an allowed value. |
| do_not_have_permission | 403 Inquiry exports need the export permission on your account. |
| np_parking_api_error_domain_not_found | 404 No parked domain by that name is in your account. |
| np_parking_api_error_nothing_to_export | 404 Nothing matches: no domains, or no inquiries for the filters. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true |
| Error key | Description |
|---|---|
| np_parking_api_error_sender_not_found | 404 No ignored sender by that id is in your list. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| senders | ParkingIgnoredSender[] |
| Input | Type | Description |
|---|---|---|
| sender | string | The address to ignore. |
| Output | Type | Description |
|---|---|---|
| sender | ParkingIgnoredSender | The new row. |
| Error key | Description |
|---|---|
| np_parking_api_error_sender_refused | 400 Not an address, already ignored, or the list is full; message says which. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true |
| Error key | Description |
|---|---|
| np_parking_api_error_image_not_found | 404 No image by that id is in your account. |
| np_parking_api_error_image_in_use | 409 A cover_images setting still references the image. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 200 (default 50). |
| Output | Type | Description |
|---|---|---|
| images | ParkingImage[] | Images on this page. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Input | Type | Description |
|---|---|---|
| file | file | The image file, multipart/form-data only. |
| url | string | An http or https link to an image file, instead of a file. |
| Output | Type | Description |
|---|---|---|
| image | ParkingImage |
| Error key | Description |
|---|---|
| np_parking_api_error_too_many_images | 400 Your account already holds the maximum number of images. |
| np_parking_api_error_image_input | 400 Neither a file nor a url was sent, or both were. |
| np_parking_api_error_image_invalid | 400 The upload failed or the file is not an image we can host. |
| np_parking_api_error_image_url_invalid | 400 url is not an http or https link to an image file. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| page | integer | Entry page number, from 1. |
| per_page | integer | Entries per page, 1 to 200 (default 50). |
| Output | Type | Description |
|---|---|---|
| import | ParkingImport | |
| entries | ParkingImportEntry[] | The import's lines on this page. |
| pagination | array | Pagination of the entries. |
| Error key | Description |
|---|---|
| np_parking_api_error_import_not_found | 404 No import by that id is in your account. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| data | binary | The file is output directly, not JSON. |
| Error key | Description |
|---|---|
| np_parking_api_error_import_not_found | 404 No import by that id is in your account. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| import | ParkingImport | The new import. |
| Error key | Description |
|---|---|
| np_parking_api_error_import_not_found | 404 No import by that id is in your account. |
| np_parking_api_error_import_cannot_rerun | 409 The import is still running or cannot be re-run. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 200 (default 50). |
| Output | Type | Description |
|---|---|---|
| imports | ParkingImport[] | Imports on this page, newest first. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Input | Type | Description |
|---|---|---|
| file | file | The CSV, multipart/form-data only. |
| columns | string | Field name per column, comma-separated, when the header is not the export format. |
| skip_rows | integer | Rows to skip at the top (default 1 with a recognised header, else 0). |
| casing_mode | string | auto (default) or manual: how the domain's display casing is taken from the file. |
| update_casing_for_existing | bool | Also apply the casing to domains already in the account. |
| Output | Type | Description |
|---|---|---|
| import | ParkingImport |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 CSV import is not on for your account. |
| np_parking_api_error_csv_missing | 400 No file was sent, or it is not a CSV. |
| np_parking_api_error_csv_columns | 400 The header is not the export format and columns was not sent, or names a field that does not exist, twice, or misses the domain. |
| import_refused | 400 The importer refused the file; message says why. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| domain | string | Only inquiries about this domain (Unicode or punycode). |
| status | string | confirmed (default), unconfirmed or all: whether the buyer confirmed their email. |
| delivery | string | all (default), delivered or unsent: whether the inquiry was sent to you by email. |
| unsent_reasons | string | With delivery unsent, only these reasons, comma separated: unconfirmed (the buyer never confirmed their email), below_min_offer, unqualified_interest, unqualified_bant, other (no reason recorded). Empty means every reason. |
| flow_items | bool | With delivery unsent, list each inquiry not emailed itself, even when another inquiry of the same conversation was. |
| order | string | newest (default) or offer (highest offer first). |
| visibility | string | active (default), archived (the ones you archived), removed (the ones you removed from your list), or all (active and archived). The older values unread and starred still work: they mean all with that mark. |
| unread | bool | Only the ones you have not opened yet, or marked unread, within visibility. |
| starred | bool | Only the ones you starred, within visibility. Both together means unread and starred. |
| spam_risk | string | all (default), not_high, low, medium or high. |
| type | string | full (default) or compact: full rows carry details, everything GET parking/inquiry/{id} answers for each inquiry; compact rows leave details out. |
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 100 (default 50). |
| Output | Type | Description |
|---|---|---|
| inquiries | ParkingInquiry[] | Inquiries on this page, newest first, each with details as GET parking/inquiry/{id} answers it unless type is compact. In a list the current weather (details.local.weather.now) comes from what was looked up recently, so it may be null where the single inquiry would answer. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| unsent_reasons | object | With delivery unsent only: how many inquiries each reason covers with your other filters, keyed by reason. An inquiry held back by several of your rules counts under each. |
| Error key | Description |
|---|---|
| np_parking_api_error_invalid_inquiry_filter | 400 status, delivery, order, visibility, spam_risk or unsent_reasons is not an allowed value. |
| np_parking_api_error_domain_not_found | 404 No parked domain by that name is in your account. |
| Input | Type | Description |
|---|---|---|
| action | string | mark_read, mark_unread, star, unstar, archive, unarchive, request_email, unreachable, remove or restore. |
| ids | integer[] | The inquiries to act on, at most 10,000. Not with all. |
| all | bool | Act on every inquiry the filters match instead of ids. |
| exclude | integer[] | With all: inquiries to leave out, at most 10,000. |
| domain | string | With all: only inquiries about this domain (Unicode or punycode). |
| status | string | As GET parking/inquiries. |
| delivery | string | As GET parking/inquiries. |
| unsent_reasons | string | As GET parking/inquiries. |
| flow_items | bool | As GET parking/inquiries. |
| visibility | string | As GET parking/inquiries; also decides which actions exist. |
| unread | bool | As GET parking/inquiries. |
| starred | bool | As GET parking/inquiries. |
| spam_risk | string | As GET parking/inquiries. |
| Output | Type | Description |
|---|---|---|
| success | true | |
| action | string | The action run. |
| matched | integer | How many inquiries the selection named. |
| applied | integer | How many the action changed; null while the work is still queued. |
| queued | bool | True when the selection is still being worked through in the background. |
| not_found | integer[] | With ids: the ids that are not inquiries of yours. |
| Error key | Description |
|---|---|
| np_parking_api_error_bulk_action | 400 action is not one this list offers; the message lists the ones it does. |
| np_parking_api_error_bulk_selection | 400 Neither ids nor all, or both. |
| np_parking_api_error_bulk_too_many | 400 ids or exclude holds more than 10,000. |
| np_parking_api_error_invalid_inquiry_filter | 400 A filter is not an allowed value. |
| np_parking_api_error_domain_not_found | 404 No parked domain by that name is in your account. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| inquiry | array | As in the list, plus details: name_frequency, email (kind, site_rank, role, site_title, gravatar_url, associated_user), phone_location, company (wikipedia, listed, data), contact_text, flow (position and steps), spam_risk (level, assessed, reasons), qualification, connection, location (place, postal_code, zip, businesses, population_density, average_income), local (moment, weather), subject_key, listing (buy_now_price, min_offer, lease_to_own) and inquirer_history. A field the page would not show you (your permissions, or no data) is null. |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true | |
| marks | ParkingInquiryMarks | Your marks on it now. |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| match | string | all (default), email or ip: which link to the buyer to follow. |
| days | integer | 7, 30, 90 or 0 for all time (default 0). |
| type | string | full (default) or compact: full rows carry details, everything GET parking/inquiry/{id} answers for each inquiry; compact rows leave details out. |
| page | integer | Page number, from 1 (20 rows a page). |
| Output | Type | Description |
|---|---|---|
| inquiries | array | Your inquiries from this buyer, newest first, as in the list (with details unless type is compact), each with matched_by (email, ip or both). |
| stats | array | Counts across every seller: by email and by ip per window (count and distinct domains), first and last dates, own (yours) and total. |
| capped | bool | True when the buyer has more than 2,000 inquiries and the list stops there. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true | |
| marks | ParkingInquiryMarks | Your marks on it now. |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| do_not_have_permission | 403 The inquiry cannot be sent to your email now (no confirmed parking email, or it was sent recently). |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true | |
| marks | ParkingInquiryMarks | Your marks on it now. |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true | |
| marks | ParkingInquiryMarks | Your marks on it now. |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| do_not_have_permission | 403 Not yet (unconfirmed, too soon, or already reported); message says which. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true | |
| marks | ParkingInquiryMarks | Your marks on it now. |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| success | true | |
| marks | ParkingInquiryMarks | Your marks on it now. |
| Error key | Description |
|---|---|
| np_parking_api_error_inquiry_not_found | 404 No inquiry by that id is visible to you. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| name | string | The domain name (Unicode or punycode). |
| days | integer | 7, 30 (default), 90 or 0 for all time. |
| verified | bool | Only verified human visitors (default true). |
| Output | Type | Description |
|---|---|---|
| domain | array | name and id. |
| ended_at | integer | When the domain stopped being yours, the end of every window; null while it is yours. |
| days | integer | The window used. |
| only_verified | bool | Whether unverified visits were left out. |
| visitors | integer | Visitors to this domain in the window, each counted once per day. |
| trends | array | visitors, form_starts, inquiry_rate, as for insights-domains, for this domain alone. |
| engagement | array | continue, form_start, contact. |
| chart | array | Visitors per day: slots (ts, hits) and peak; null when the window holds nothing. |
| funnel | array | steps, side and since, as for insights-domains, for this domain alone. |
| average_active_seconds | integer | Active seconds per timed visit to this domain, null before any visit was timed. |
| visit_time | array | A typical page visit on this domain, as for insights-domains. |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 Insights is not on for your account. |
| np_parking_api_error_domain_not_found | 404 No such domain on your account, now or before. |
| Input | Type | Description |
|---|---|---|
| days | integer | 7, 30 (default), 90 or 0 for all time. |
| verified | bool | Only verified human visitors (default true); false includes visits that never passed the human check. |
| Output | Type | Description |
|---|---|---|
| days | integer | The window used. |
| only_verified | bool | Whether unverified visits were left out. |
| visitors | integer | Visitors in the window, each counted once per day. |
| trends | array | visitors, form_starts, inquiry_rate. Each against the period of the same length just before the window: previous (its value), change (percent for a count, percentage points for a rate), unit (percent or points) and direction (up, down or same). A figure is left out when the window is all time, when the period before had nothing to compare, or when visitors were not counted yet then. |
| unverified | integer | Visits in the window that never passed the human check. |
| engagement | array | Visitor-days that clicked Continue, started the form, opened a contact link: continue, form_start, contact. |
| countries | integer | Distinct visitor countries. |
| chart | array | Visitors per day: slots (ts, hits) and peak; null when the window holds nothing. |
| funnel | array | steps and side rows of key, label, count, share (percent of visitors), conversion (percent of the step before, null on the first step); since is the day the inquiry steps count from when it is later than the window's start. |
| sections | array | Keyed by report name: rows of label, hits, share, unknown (contact_via is the kind of contact link used); a utm row also has inquired, how many of those visitors sent an inquiry (counted since 2026-10-01). |
| visit_time | array | A typical page visit: average (active seconds per timed visit, null before any), timed (visits timed), bands (from, visitors, share), still (at, share of visits still active), actions (continue, form_start, contact: count and the band their middle visitor acted in). Active time counts while the page is visible and was used in the last 30 seconds. |
| ever_used | bool | Whether the account has ever recorded a lander visit. |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 Insights is not on for your account. |
| Input | Type | Description |
|---|---|---|
| days | integer | 7, 30 (default), 90 or 0 for all time. |
| Output | Type | Description |
|---|---|---|
| days | integer | The window used. |
| inquiries | integer | Inquiries received in the window, first messages only. |
| confirmed | integer | Inquiries whose buyer confirmed their email. |
| delivered | integer | Inquiries emailed to you. |
| continued | integer | Inquiries whose buyer took a further step. |
| confirmed_rate | float | Percent of inquiries confirmed; null with no inquiries. |
| delivered_rate | float | Percent of inquiries emailed to you; null with no inquiries. |
| buyers | integer | Different buyers, by email address. |
| trends | array | inquiries, confirmed_rate, delivered_rate, buyers. Each against the period of the same length just before the window: previous (its value), change (percent for a count, percentage points for a rate), unit (percent or points) and direction (up, down or same). A figure is left out when the window is all time, when the period before had nothing to compare, or when visitors were not counted yet then. |
| per_day | array | Per UTC day: ts, hits (inquiries), confirmed and delivered; days with no inquiries left out. |
| funnel | array | Steps of key, label, count, share (percent of inquiries), conversion (percent of the step before). |
| flow_tree | array | The steps a buyer meets, in order (submitted, confirm, then interest, bant and offer where a domain had them turned on, completed). Per step: optional (true for a step a domain can turn on, which branches off the main line), reached (buyers who got that far), asked (of those, the buyers whose domain had the step on), skipped (the rest, who go straight on), went_on and stopped (nodes of key, label, count, share as a percent of asked, overall as a percent of all inquiries), and on the last step actions (Buy Now, contact request). flow_tree_missing is how many inquiries of the window the tree leaves out, because the index does not say yet how far their buyers got. |
| emailed | array | total, and reasons: rows of key (confirmed, immediate, followup, below_min_offer, unqualified_interest, unqualified_bant), label, hits, share of the inquiries emailed to you. immediate: sent before the buyer confirmed, by your immediate emails setting (the buyer never confirmed); followup: only a later message of the conversation was emailed; the three rules: sent though the rule applied, because you receive those. One inquiry can have several reasons. |
| not_emailed | array | total, and reasons: rows of key, label, hits, share of the inquiries not emailed. One inquiry can have several reasons. |
| sections | array | Keyed by report name: rows of key, label, hits, share (percent of inquiries), unknown. How visitors arrived and where they are is on insights-domains. |
| offers | array | Per currency: currency, count, median, average, highest, lowest, from the highest offer of each inquiry whose email was confirmed. |
| confirm_time | array | median_seconds, after_reminder (confirmed after the reminder email), and bands: rows by how long the buyer took. |
| weekdays | array | Rows Monday to Sunday, in your time zone. |
| day_parts | array | Rows for the six four-hour parts of the day, in your time zone. |
| buyer_facts | array | rows (repeat is a share of buyers; phone, company and member are shares of inquiries) and repeat_capped. |
| spam_risk | array | Rows low, medium, high and unassessed. |
| ever_used | bool | Whether you have ever received an inquiry. |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 Insights is not on for your account. |
| Input | Type | Description |
|---|---|---|
| days | integer | 7, 30 (default), 90 or 0 for all time. |
| Output | Type | Description |
|---|---|---|
| days | integer | The window used. |
| visits | integer | Portfolio visitors in the window, each counted once per day. |
| searched | integer | Visitor-days that searched. |
| filtered | integer | Filter facts used. |
| trends | array | visits, searched, filtered. Each against the period of the same length just before the window: previous (its value), change (percent for a count, percentage points for a rate), unit (percent or points) and direction (up, down or same). A figure is left out when the window is all time, when the period before had nothing to compare, or when visitors were not counted yet then. |
| chart | array | Visitors per day: slots (ts, hits) and peak; null when the window holds nothing. |
| sections | array | Keyed by report name: rows of label, hits, share (percent of visitors), unknown. |
| ever_used | bool | Whether the portfolio has ever recorded a visit. |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 Insights is not on for your account. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| ns | string[] | Nameserver hostnames, in order. |
| cname | string | Value for a verification CNAME record. |
| txt | string | Value for a verification TXT record. |
| Input | Type | Description |
|---|---|---|
| name | string | The part after ns2., letters and digits only. |
| Output | Type | Description |
|---|---|---|
| nameservers | array | As GET parking/nameservers, after the change. |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 Your account cannot create nameservers. |
| np_parking_api_error_nameserver_refused | 400 The name is not allowed, is your current one, was yours before, or is taken; message says which. |
| np_parking_api_error_nameserver_limit | 429 You have created the yearly maximum; message says when the next is possible. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| portfolio | array | enabled, url, slug_url, public_name, host_domain, and every field POST parking/portfolio takes. |
| Input | Type | Description |
|---|---|---|
| enabled | bool | Turn the portfolio on or off. |
| host_domain | string | A verified domain of yours to serve the portfolio from, or null. |
| portfolio | array | Field name to new value for the appearance and content fields. |
| Output | Type | Description |
|---|---|---|
| portfolio | array | As GET parking/portfolio, after the save. |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 The portfolio is not on for your account. |
| np_parking_api_error_unknown_settings | 400 A name in portfolio is not a portfolio field. |
| np_parking_api_error_invalid_settings | 400 Some fields were refused; errors names each one. |
| np_parking_api_error_domain_not_found | 404 host_domain is not a verified domain of yours. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| days | integer | 7, 30 (default), 90 or 0 for all time. |
| Output | Type | Description |
|---|---|---|
| visits | integer | Portfolio visits in the window. |
| days | integer | The window used. |
| sections | array | Keyed by report name: rows of label, hits, share (percent), unknown, portfolios. |
| ever_used | bool | Whether the portfolio has ever recorded a visit. |
| Error key | Description |
|---|---|
| do_not_have_permission | 403 The activity report is not on for your account. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| profile | array | display_name, website, website_use_portfolio, atom_network_id, wise_business_id, user_card_html, social_email, social_phone_number, social_whatsapp, social_telegram, social_signal, social_sms, social_x, social_linkedin, contact_icons_position, avatar_visibility, default_currency. |
| parking_email | string | The confirmed address inquiries are sent to, or null. |
| payment_emails | array | Confirmed payment addresses keyed by account type. |
| Input | Type | Description |
|---|---|---|
| profile | array | Field name to new value. |
| Output | Type | Description |
|---|---|---|
| profile | array | The profile after the save, as GET parking/profile. |
| Error key | Description |
|---|---|
| np_parking_api_error_unknown_settings | 400 A name in profile is not a profile field. |
| np_parking_api_error_invalid_settings | 400 Some fields were refused; errors names each one. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| settings | array | Keyed by setting name: value, source (account or default). |
| Input | Type | Description |
|---|---|---|
| settings | array | Setting name to new value, names as in GET parking/settings-schema. |
| Output | Type | Description |
|---|---|---|
| settings | array | The account settings after the save, as GET parking/settings. |
| Error key | Description |
|---|---|
| np_parking_api_error_unknown_settings | 400 A name in settings is not a setting. |
| np_parking_api_error_invalid_settings | 400 Some settings were refused; errors names each one. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Input | Type | Description |
|---|---|---|
| page | integer | Page number, from 1. |
| per_page | integer | Rows per page, 1 to 200 (default 50). |
| Output | Type | Description |
|---|---|---|
| versions | ParkingSettingsHistory[] | The account and profile saves, newest first. |
| pagination | array | current_page, last_page, per_page, shown, total. |
| Input | Type | Description |
|---|---|---|
| None. | ||
| Output | Type | Description |
|---|---|---|
| schema | ParkingSettingSchema[] | One entry per setting. |
| Input | Type | Description |
|---|---|---|
| history_id | integer | A history_id from a history listing. |
| Output | Type | Description |
|---|---|---|
| version | array | The version that was undone. |
| Error key | Description |
|---|---|
| np_parking_api_error_history_not_found | 404 No saved version by that id is in your account. |
| np_parking_api_error_history_cannot_undo | 409 The version has nothing before it to go back to. |
| np_parking_api_error_flood | 429 You are making changes too quickly; wait the number of seconds in Retry-After; use a bulk endpoint where you can. |
| Column | Type | Description |
|---|---|---|
| domain_id | integer | |
| name | string | The domain name as you see it (Unicode). |
| punycode | string | |
| state | string | verified, unverified, detected, removed or inactive. |
| is_approved | bool | In your account. |
| is_verified | bool | Points to your nameservers or records. |
| is_portfolio_host | bool | Hosts your portfolio website; false until you have verified the domain. |
| added_date | integer | When you added it (unix time); null if never. |
| verified_since | integer | When it was verified to you; null unless it is yours. |
| last_verified | integer | The last successful check; null unless it is yours. |
| next_check | integer | The next scheduled check; null if none or until you have verified the domain. |
| lander_url | string | Its lander's address; null unless it is yours. |
| Column | Type | Description |
|---|---|---|
| id | string | |
| date | integer | |
| domain | array | The parked domains of yours it was sent to. |
| from | array | |
| to | array | |
| envelope_to | array | The addresses on your domains it was delivered to. |
| subject | array | |
| summary | string | The start of the message. |
| match_labels | array | Why it matched: domain_contains, domain_similarity, domain_contains_extension. |
| envelope_from | string | Left out of compact list rows. |
| sender | array | Left out of compact list rows. |
| reply_to | array | Left out of compact list rows. |
| attachments | array | Attachment names; left out of compact list rows. |
| Column | Type | Description |
|---|---|---|
| export_id | integer | |
| type | string | inquiries or domains. |
| state | string | pending, running, finished or failed. |
| progress | float | 0 to 1. |
| total_expected | integer | |
| total_fetched | integer | |
| total_bytes | integer | |
| queue_date | integer | |
| start_date | integer | |
| finish_date | integer | |
| error_message | string | null unless it failed. |
| filters | object | The filters it was made with: status, delivery, order, domain. |
| file_name | string | |
| downloadable | bool |
| Column | Type | Description |
|---|---|---|
| id | integer | |
| type | string | email or ip. |
| value | string | |
| date | integer |
| Column | Type | Description |
|---|---|---|
| image_id | integer | |
| type | string | hosted or external. |
| url | string | |
| date_added | integer |
| Column | Type | Description |
|---|---|---|
| import_id | integer | |
| status | string | pending, running, finished or failed. |
| data_type | string | What was imported: text (a list of names) or csv. |
| queue_date | integer | |
| start_date | integer | null until it starts. |
| finish_date | integer | null until it finishes. |
| progress | float | 0 to 1. |
| new_count | integer | |
| update_count | integer | |
| ignore_count | integer | |
| warning_count | integer | |
| error_count | integer |
| Column | Type | Description |
|---|---|---|
| entry_id | integer | |
| line | integer | The line of the input, from 1. |
| domain | string | The punycode name; null when the line was not a domain. |
| was_added | bool | |
| was_updated | bool | |
| was_ignored | bool | |
| has_warning | bool | |
| has_error | bool | |
| approve_outcome | string | How adding it went. |
| verify_outcome | string | How verifying it went. |
| notice | string | What went wrong, in words; null when nothing did. |
| Column | Type | Description |
|---|---|---|
| inquiry_id | integer | |
| reference | string | The reference in the inquiry email's subject. |
| inquire_date | integer | |
| domain | string | The punycode name it was sent to. |
| intent | string | What the buyer chose, e.g. offer or buynow. |
| origin | string | initial, or the step of a multi-step inquiry. |
| country | string | Two-letter country code. |
| full_name | string | |
| string | ||
| company | string | |
| phone | string | |
| message | string | |
| offer | float | null without an offer. |
| offer_text | string | The offer as the buyer typed it. |
| offer_currency | string | |
| email_confirmed | bool | The buyer confirmed their email address. |
| seller_notified | integer | When it was emailed to you; null if not. |
| bant | object | The buyer's qualification answers: timeline, need, primary_use, priority, department, decision_role, domain_for, budget, org_website, org_linkedin, your_linkedin, job_title. |
| email_confirmed_date | integer | null until confirmed. |
| buyer_notified | integer | When the buyer was emailed; null if not. |
| source | string | Where the buyer came from, when known. |
| delivery | object | state and reason: whether it reached your inbox. |
| spam_risk | string | low, medium or high; null when not assessed. |
| marks | ParkingInquiryMarks |
| Column | Type | Description |
|---|---|---|
| read | bool | |
| starred | bool | |
| archived | bool | |
| removed | bool |
| Column | Type | Description |
|---|---|---|
| name | string | |
| type | string | The value's type. |
| label | string | |
| explain | string | null when the setting has no explanation. |
| account_level | bool | Can be set for the whole account. |
| domain_level | bool | Can be set for one domain. |
| permission_gated | bool | Needs a permission some accounts lack. |
| available | bool | You may use it. |
| allowed_values | array | The values a choice accepts; null for other types. |
| default | mixed | |
| category | string | The settings page it is on. |
| Column | Type | Description |
|---|---|---|
| history_id | integer | |
| date | integer | |
| scope | string | account, profile or domain. |
| domain | string | The punycode name for a domain save; null otherwise. |
| changed | array | The names of the settings the save changed. |
| changes | object | Keyed by setting name: before and after. |
| can_undo | bool | |
| source | string | Where the save came from: ui, api, import, restore, undo, admin or system. |
| source_ref | string | The token or import behind it, when there is one. |


