# Labels

## List Labels

> Retrieves a paginated list of labels. Can be filtered by \`name\`.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Labels"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"LabelsListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Labels"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"},"links":{"$ref":"#/components/schemas/PaginationLinks"}}},"Labels":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"colour":{"type":"string","enum":["blue","blue_inverted","cyan","cyan_inverted","gray","gray_inverted","green","green_inverted","orange","orange_inverted","pink","pink_inverted","purple","purple_inverted","red","red_inverted","yellow","yellow_inverted"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"string"}}},"PaginationMeta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer","nullable":true},"last_page":{"type":"integer"},"path":{"type":"string"},"per_page":{"type":"integer"},"to":{"type":"integer","nullable":true},"total":{"type":"integer"}}},"PaginationLinks":{"type":"object","properties":{"first":{"type":"string","format":"uri"},"last":{"type":"string","format":"uri"},"prev":{"type":"string","format":"uri","nullable":true},"next":{"type":"string","format":"uri","nullable":true}}}}},"paths":{"/api/v1/labels":{"get":{"summary":"List Labels","description":"Retrieves a paginated list of labels. Can be filtered by `name`.","parameters":[{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by name."},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relationships to include. Available: name, colour"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Sort field. Prefix with - for descending. Available: created_at"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1},"description":"Page number for pagination."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Number of results per page."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelsListResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Labels"]}}}}
```

## Create Label

> Creates a new label.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Labels"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"LabelsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Labels"}}},"Labels":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"colour":{"type":"string","enum":["blue","blue_inverted","cyan","cyan_inverted","gray","gray_inverted","green","green_inverted","orange","orange_inverted","pink","pink_inverted","purple","purple_inverted","red","red_inverted","yellow","yellow_inverted"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"LabelsStoreRequest":{"type":"object","properties":{"colour":{"type":"string","enum":["blue","blue_inverted","cyan","cyan_inverted","gray","gray_inverted","green","green_inverted","orange","orange_inverted","pink","pink_inverted","purple","purple_inverted","red","red_inverted","yellow","yellow_inverted"]},"name":{"type":"string","maxLength":20}},"required":["colour","name"]}}},"paths":{"/api/v1/labels":{"post":{"summary":"Create Label","description":"Creates a new label.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelsResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelsStoreRequest"}}}},"tags":["Labels"],"parameters":[]}}}}
```

## Get Label

> Retrieves the details of a specific label.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Labels"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"LabelsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Labels"}}},"Labels":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"colour":{"type":"string","enum":["blue","blue_inverted","cyan","cyan_inverted","gray","gray_inverted","green","green_inverted","orange","orange_inverted","pink","pink_inverted","purple","purple_inverted","red","red_inverted","yellow","yellow_inverted"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"string"}}}}},"paths":{"/api/v1/labels/{label}":{"get":{"summary":"Get Label","description":"Retrieves the details of a specific label.","parameters":[{"name":"label","in":"path","required":true,"schema":{"type":"string"},"description":"The label identifier."},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by name."},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relationships to include. Available: name, colour"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Sort field. Prefix with - for descending. Available: created_at"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1},"description":"Page number for pagination."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Number of results per page."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelsResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Labels"]}}}}
```

## Update Label

> Updates an existing label.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Labels"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"LabelsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Labels"}}},"Labels":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"colour":{"type":"string","enum":["blue","blue_inverted","cyan","cyan_inverted","gray","gray_inverted","green","green_inverted","orange","orange_inverted","pink","pink_inverted","purple","purple_inverted","red","red_inverted","yellow","yellow_inverted"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"LabelsUpdateRequest":{"type":"object","properties":{"colour":{"type":"string","enum":["blue","blue_inverted","cyan","cyan_inverted","gray","gray_inverted","green","green_inverted","orange","orange_inverted","pink","pink_inverted","purple","purple_inverted","red","red_inverted","yellow","yellow_inverted"]},"name":{"type":"string","maxLength":20}}}}},"paths":{"/api/v1/labels/{label}":{"put":{"summary":"Update Label","description":"Updates an existing label.","parameters":[{"name":"label","in":"path","required":true,"schema":{"type":"string"},"description":"The label identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelsResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelsUpdateRequest"}}}},"tags":["Labels"]}}}}
```

## Delete Label

> Permanently deletes a specific label.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Labels"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"MessageResponse":{"type":"object","properties":{"message":{"type":"string"}}}}},"paths":{"/api/v1/labels/{label}":{"delete":{"summary":"Delete Label","description":"Permanently deletes a specific label.","parameters":[{"name":"label","in":"path","required":true,"schema":{"type":"string"},"description":"The label identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Labels"]}}}}
```
