Clone a Person

Create a new Person by cloning an existing one.

Access control

The Permission level required to clone a Person depends on:

  • Whether the Person is public
  • Who created the Pattern

The details are outlined in the table below:

Public PatternsNon-Public Patterns
Your own0 or higher3 or higher
Other user’s0 or higher5 or higher

Endpoints

Creating a new Person is possible via these endpoints:

MethodPathAuthentication
POST
/people/:id/clone/jwtJSON Web Token
POST
/people/:id/clone/keyAPI Key & Secret

Request URL

The URL should contain the ID of the Person you wish to remove. It replaces the :id placeholder in the endpoints listed above.

Response status codes

Possible status codes for these endpoints are:

Status codeDescription
200
success
400
the request was malformed
401
the request lacks authentication
403
authentication failed
500
server error
NOTE

If the status code is not

200
the error property in the response body should indicate the nature of the problem.

Response body

ValueTypeDescription
resultStringEither success or error
errorStringWill give info on the nature of the error. Only set if an error occurred.
person.idNumberThe ID of the Person
person.createdAtStringDate string indicating the moment the Person was created
person.imgStringThe URL to the image stored with this Person
person.nameStringThe name of the Person
person.notesStringThe notes stored with the Person
person.userIdNumberThe ID of the user who created the Person
person.measiesObjectThe measurements of the Person
person.publicBooleanIndicates whether the Person is publicly accessible or not
person.updatedAtStringDate string indicating the last time the Person was updated

Example request

Javascript
const clone = axios.post(
  'https://backend.freesewing.org/people/27/clone/jwt',
  null,
  {
    headers: {
      Authorization: `Bearer ${token}`
    }
  }
)

Example response

JSON
200
{
  "result": "success",
  "person": {
    "id": 32,
    "createdAt": "2022-11-19T17:36:41.342Z",
    "img": "https://cdn.sanity.io/images/hl5bw8cj/production/a1565c8c6c70cfe7ea0fdf5c65501cd885adbe78-200x187.png",
    "imperial": false,
    "name": "Someone",
    "notes": "These are some notes",
    "userId": 12,
    "measies": {
      "chest": 930,
      "neck": 360
    },
    "public": true,
    "updatedAt": "2022-11-19T17:36:41.342Z"
  }
}