---
title: "Start a pet business's sign-up without an account"
method: POST
path: "/v1/signup-drafts"
tags: ["Business"]
---

# Start a pet business's sign-up without an account

`POST /v1/signup-drafts`

## Request

- Base URL: `https://api.nogpets.com`
- URL: `https://api.nogpets.com/v1/signup-drafts`
- Auth: none required

No sign-in needed. Keeps what a chat already knows about a pet business (name, owner, contact, town, what they offer, prices as said) as a draft for 30 days and answers with `continueUrl`, a page on nogpets.com that fills in from it, asks what's missing (prices, area, hours) and sends the application to NogPets for review. The application belongs to the NogPets account with the owner's email (made if there isn't one); nothing is public until NogPets approves it. Needs `consent: true` after the person agreed to `consentText`. Limited per caller and per email.

## Request body

- object
  - `businessName` string, required: The business's name.
  - `contactName` string: The owner's name.
  - `email` string: The owner's email: their NogPets account uses it. Best way to reach them.
  - `phone` string: The owner's mobile (with the country code outside South Africa).
  - `country` string: Two-letter country code (ZA, US, GB, AU…), if known. The phone's country code can say it.
  - `town` string, required: Where the business is based.
  - `categories` string[]: What they offer.
  - `mode` 'MOBILE' | 'SALON' | 'BOTH': MOBILE: they go to the client; SALON: clients come to them.
  - `vans` integer
  - `staff` integer
  - `website` string
  - `about` string: One line about the business
  - `services` object[]: Services and prices exactly as the person said them; the page turns them into a price list they check.
    - `name` string, required
    - `price` string: As said, e.g. "R400", "$45", "from R350".
    - `category` 'grooming' | 'walking' | 'sitting'
  - `note` string: Anything else they said that NogPets should know.
  - `consent` boolean: true once the person agreed that NogPets keeps these details to set up their application.

## Response `201`

The draft and the link that finishes it

- object
  - `draftId` string
  - `continueUrl` string, uri: The page that finishes the sign-up. Give it to the person as a link.
  - `expiresAt` string, date-time
  - `summary` string: What was saved
  - `message` string: What to tell the person
  - `next` string

## Other responses

- `400`: The input is wrong (`INVALID_ARGUMENT`, or a pricing code such as `ONE_PRIMARY`, `PET_TYPE`, `UNKNOWN_SERVICE`).
- `429`: Too many requests (`RATE_LIMIT`). `Retry-After` says when to try again.

---

[API](https://skmtc.dev/nogpets/apis/nogpets-api.md) · [All operations](https://skmtc.dev/nogpets/apis/nogpets-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nogpets/apis/nogpets-api/revisions/a202c1012173?raw)
