Clone a Pattern

Create a new Pattern by cloning an existing one.

Access control

The Permission level required to clone a Pattern depends on:

  • Whether the Pattern 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
/patterns/:id/clone/jwtJSON Web Token
POST
/patterns/:id/clone/keyAPI Key & Secret

Request URL

The URL should contain the ID of the Pattern 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.
pattern.idNumberThe ID of the Pattern
pattern.createdAtStringDate string indicating the moment the pattern was created
pattern.dataObjectAny additional data that was stored with Pattern data
pattern.designStringThe name of the design of which this Pattern is an instance
pattern.imgStringThe URL to the image stored with this Pattern
pattern.nameStringThe name of the Pattern
pattern.notesStringThe notes stored with the Pattern
pattern.personIdNumberThe ID of the Person for whom the Pattern was created
pattern.publicBooleanIndicates whether the Pattern is publicly accessible or not
pattern.settingsObjectThe settings used to (re-)create the Pattern
pattern.userIdNumberThe ID of the user who created the Pattern
pattern.updatedAtStringDate string indicating the last time the pattern was updated

Example request

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

Example response

JSON
200
{
  "result": "success",
  "pattern": {
    "id": 19,
    "createdAt": "2022-11-19T16:29:33.346Z",
    "data": {
      "some": "value"
    },
    "design": "aaron",
    "img": "https://cdn.sanity.io/images/hl5bw8cj/production/a1565c8c6c70cfe7ea0fdf5c65501cd885adbe78-200x187.png",
    "name": "Just a test",
    "notes": "These are my notes",
    "personId": 17,
    "public": true,
    "settings": {
      "sa": 5
    },
    "userId": 10,
    "updatedAt": "2022-11-19T16:29:33.346Z"
  }
}