--- title: Update a Pattern --- Updates an existing Pattern. This is typically used when users choose to save/overwrite a pattern. ## Access control - [Permission level](/reference/backend/api/rbac) `4` or higher is required to update a Pattern - [Permission level](/reference/backend/api/rbac) `8` is required to update **another user's** Pattern ## Endpoints Updating an existing Pattern is possible via these endpoints: | Method | Path | Authentication | | --------: | :--- | :------------- | | | `/patterns/:id/jwt` | [JSON Web Token](/reference/backend/api/authentication#jwt-authentication) | | | `/patterns/:id/key` | [API Key & Secret](/reference/backend/api/authentication#key-authentication) | ## 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](#endpoints). ## Request body | Property | Type | Description | | ----------: | :------- | :---------- | | `data` | `object` | Any additional data to store with the pattern | | `design` | `string` | The name of the design this Pattern is an instance of | | `img` | `object` | An image [data-uri][duri] to store with this Pattern | | `name` | `string` | A name for the Pattern | | `notes` | `string` | User notes for the pattern | | `person` | `object` | The ID of the person to associate with this pattern | | `settings` | `object` | The settings object to (re-)create the Pattern | ## Response status codes Possible status codes for these endpoints are: | Status code | Description | | ----------: | :---------- | | | success | | | the request was malformed | | | the request lacks authentication | | | authentication failed | | | server error | If the status code is not the `error` property in the response body should indicate the nature of the problem. ## Response body | Value | Type | Description | | ------------------- | -------- | ----------- | | `result` | String | Either `success` or `error` | | `error` | String | Will give info on the nature of the error. Only set if an error occured. | | `pattern.id` | Number | The ID of the Pattern | | `pattern.createdAt` | String | Date string indicating the moment the pattern was created | | `pattern.data` | Object | Any additional data that was stored with Pattern data | | `pattern.design` | String | The name of the design of which this Pattern is an instance | | `pattern.img` | String | The URL to the image stored with this Pattern | | `pattern.name` | String | The name of the Pattern | | `pattern.notes` | String | The notes stored with the Pattern | | `pattern.personId` | Number | The ID of the Person for whom the Pattern was created | | `pattern.public` | Boolean| Indicates whether the Pattern is publicly accessible or not | | `pattern.settings` | Object | The settings used to (re-)create the Pattern | | `pattern.userId` | Number | The ID of the user who created the Pattern | | `pattern.updatedAt` | String | Date string indicating the last time the pattern was updated | ## Example request ```js const udpate = await axios.put( 'https://backend.freesewing.org/patterns/10/jwt', { data: { some: 'new value', } public: false, }, { headers: { Authorization: `Bearer ${token}` } } ) ``` ## Example response ```200.json { "result": "success", "pattern": { "id": 10, "createdAt": "2022-11-19T16:29:33.346Z", "data": { "some": "new 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": false, "settings": { "sa": 5 }, "userId": 10, "updatedAt": "2022-11-19T16:43:39.223Z" } } ``` [duri]: https://en.wikipedia.org/wiki/Data_URI_scheme