# Endpoints

## List Endpoint Field Tags

> Retrieves a paginated list of field tags for a specific endpoint. Can be filtered by \`name\`, \`entity\_type\_id\`, \`store\_as\`, and \`is\_required\`.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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":{"EndpointsListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Endpoints"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"},"links":{"$ref":"#/components/schemas/PaginationLinks"}}},"Endpoints":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"field_path":{"type":"string"},"tags":{"type":"string"},"label":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"secret":{"type":"string"},"variables":{"type":"string","items":{"type":"object"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"object"},"system_id":{"type":"object"},"system":{"type":"object"},"entity_type_id":{"type":"object"},"entity_type":{"type":"object"},"endpoint":{"type":"string"},"http_method":{"type":"string","enum":["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"]},"data_type":{"type":"string","enum":["csv","json","txt","xml"]},"pagination_method":{"type":"string","enum":["Custom relative URI","Link Header","Next page token","Next Page URL","Page number parameter","Limit offset","default","PeopleVox","NetSuite SOAP","GraphQL Cursor","Database limit offset","Script"]},"deprecated_at":{"type":"string","format":"date-time"},"direction":{"type":"string","enum":["Send","Receive"]},"returns_multiple_records":{"type":"boolean"},"pre_script_version_id":{"type":"object"},"post_script_version_id":{"type":"array","items":{"type":"object"}},"endpoint_schema":{"type":"array","items":{"type":"object"}},"field_tags":{"type":"array","items":{"type":"object"}},"data_path":{"type":"array","items":{"type":"object"}},"body_format":{"type":"array","items":{"type":"object"},"enum":["none","form-data","raw","text"]},"raw_body":{"type":"array","items":{"type":"object"}},"filters":{"type":"array","items":{"type":"object"}},"modified":{"type":"array","items":{"type":"object"}},"help_link":{"type":"array","items":{"type":"object"}},"authentication_implementations":{"type":"array","items":{"type":"object"}},"pre_script_version":{"type":"string"},"post_script_version":{"type":"string"},"disable_header_addition":{"type":"boolean"},"response_encoding":{"type":"string","enum":["base64","none"]}}},"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/endpoints/{endpoint}/field-tags":{"get":{"summary":"List Endpoint Field Tags","description":"Retrieves a paginated list of field tags for a specific endpoint. Can be filtered by `name`, `entity_type_id`, `store_as`, and `is_required`.","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by name."},{"name":"filter[entity_type_id]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by entity_type_id."},{"name":"filter[store_as]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by store_as."},{"name":"filter[is_required]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by is_required."},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relationships to include. Available: entityType"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Sort field. Prefix with - for descending. Available: name, entity_type_id, store_as, is_required"},{"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/EndpointsListResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Endpoints"]}}}}
```

## Create Endpoint Field Tag

> Creates a new field tag for a specific endpoint.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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":{"EndpointsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Endpoints"}}},"Endpoints":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"field_path":{"type":"string"},"tags":{"type":"string"},"label":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"secret":{"type":"string"},"variables":{"type":"string","items":{"type":"object"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"object"},"system_id":{"type":"object"},"system":{"type":"object"},"entity_type_id":{"type":"object"},"entity_type":{"type":"object"},"endpoint":{"type":"string"},"http_method":{"type":"string","enum":["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"]},"data_type":{"type":"string","enum":["csv","json","txt","xml"]},"pagination_method":{"type":"string","enum":["Custom relative URI","Link Header","Next page token","Next Page URL","Page number parameter","Limit offset","default","PeopleVox","NetSuite SOAP","GraphQL Cursor","Database limit offset","Script"]},"deprecated_at":{"type":"string","format":"date-time"},"direction":{"type":"string","enum":["Send","Receive"]},"returns_multiple_records":{"type":"boolean"},"pre_script_version_id":{"type":"object"},"post_script_version_id":{"type":"array","items":{"type":"object"}},"endpoint_schema":{"type":"array","items":{"type":"object"}},"field_tags":{"type":"array","items":{"type":"object"}},"data_path":{"type":"array","items":{"type":"object"}},"body_format":{"type":"array","items":{"type":"object"},"enum":["none","form-data","raw","text"]},"raw_body":{"type":"array","items":{"type":"object"}},"filters":{"type":"array","items":{"type":"object"}},"modified":{"type":"array","items":{"type":"object"}},"help_link":{"type":"array","items":{"type":"object"}},"authentication_implementations":{"type":"array","items":{"type":"object"}},"pre_script_version":{"type":"string"},"post_script_version":{"type":"string"},"disable_header_addition":{"type":"boolean"},"response_encoding":{"type":"string","enum":["base64","none"]}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"EndpointsStoreFieldTagsRequest":{"type":"object","properties":{"field_path":{"type":"string"},"tags":{"type":"string","properties":{"*":{"type":"object","properties":{"field_tag_id":{"type":"integer"},"field_path":{"type":"string"},"tracked":{"type":"boolean"}}}}}},"required":["field_path","tags"]}}},"paths":{"/api/v1/endpoints/{endpoint}/field-tags":{"post":{"summary":"Create Endpoint Field Tag","description":"Creates a new field tag for a specific endpoint.","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointsResponse"}}}},"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/EndpointsStoreFieldTagsRequest"}}}},"tags":["Endpoints"]}}}}
```

## Update Endpoint Field Tag

> Updates an existing field tag for a specific endpoint.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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":{"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}}}},"paths":{"/api/v1/endpoints/{endpoint}/field-tags/{field_tag}":{"put":{"summary":"Update Endpoint Field Tag","description":"Updates an existing field tag for a specific endpoint.","tags":["Endpoints"],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."},{"name":"field_tag","in":"path","required":true,"schema":{"type":"string"},"description":"The field tag identifier."}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Delete Endpoint Field Tag

> Permanently deletes a specific field tag for a specific endpoint.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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/endpoints/{endpoint}/field-tags/{field_tag}":{"delete":{"summary":"Delete Endpoint Field Tag","description":"Permanently deletes a specific field tag for a specific endpoint.","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."},{"name":"field_tag","in":"path","required":true,"schema":{"type":"string"},"description":"The field tag identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Endpoints"]}}}}
```

## List Endpoint Pagination

> Retrieves the pagination method details for a specific endpoint.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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":{"EndpointsListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Endpoints"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"},"links":{"$ref":"#/components/schemas/PaginationLinks"}}},"Endpoints":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"field_path":{"type":"string"},"tags":{"type":"string"},"label":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"secret":{"type":"string"},"variables":{"type":"string","items":{"type":"object"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"object"},"system_id":{"type":"object"},"system":{"type":"object"},"entity_type_id":{"type":"object"},"entity_type":{"type":"object"},"endpoint":{"type":"string"},"http_method":{"type":"string","enum":["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"]},"data_type":{"type":"string","enum":["csv","json","txt","xml"]},"pagination_method":{"type":"string","enum":["Custom relative URI","Link Header","Next page token","Next Page URL","Page number parameter","Limit offset","default","PeopleVox","NetSuite SOAP","GraphQL Cursor","Database limit offset","Script"]},"deprecated_at":{"type":"string","format":"date-time"},"direction":{"type":"string","enum":["Send","Receive"]},"returns_multiple_records":{"type":"boolean"},"pre_script_version_id":{"type":"object"},"post_script_version_id":{"type":"array","items":{"type":"object"}},"endpoint_schema":{"type":"array","items":{"type":"object"}},"field_tags":{"type":"array","items":{"type":"object"}},"data_path":{"type":"array","items":{"type":"object"}},"body_format":{"type":"array","items":{"type":"object"},"enum":["none","form-data","raw","text"]},"raw_body":{"type":"array","items":{"type":"object"}},"filters":{"type":"array","items":{"type":"object"}},"modified":{"type":"array","items":{"type":"object"}},"help_link":{"type":"array","items":{"type":"object"}},"authentication_implementations":{"type":"array","items":{"type":"object"}},"pre_script_version":{"type":"string"},"post_script_version":{"type":"string"},"disable_header_addition":{"type":"boolean"},"response_encoding":{"type":"string","enum":["base64","none"]}}},"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/endpoints/{endpoint}/pagination":{"get":{"summary":"List Endpoint Pagination","description":"Retrieves the pagination method details for a specific endpoint.","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointsListResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Endpoints"]}}}}
```

## Update Endpoint Pagination

> Updates the pagination method configuration for a specific endpoint.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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":{"EndpointsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Endpoints"}}},"Endpoints":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"field_path":{"type":"string"},"tags":{"type":"string"},"label":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"secret":{"type":"string"},"variables":{"type":"string","items":{"type":"object"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"object"},"system_id":{"type":"object"},"system":{"type":"object"},"entity_type_id":{"type":"object"},"entity_type":{"type":"object"},"endpoint":{"type":"string"},"http_method":{"type":"string","enum":["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"]},"data_type":{"type":"string","enum":["csv","json","txt","xml"]},"pagination_method":{"type":"string","enum":["Custom relative URI","Link Header","Next page token","Next Page URL","Page number parameter","Limit offset","default","PeopleVox","NetSuite SOAP","GraphQL Cursor","Database limit offset","Script"]},"deprecated_at":{"type":"string","format":"date-time"},"direction":{"type":"string","enum":["Send","Receive"]},"returns_multiple_records":{"type":"boolean"},"pre_script_version_id":{"type":"object"},"post_script_version_id":{"type":"array","items":{"type":"object"}},"endpoint_schema":{"type":"array","items":{"type":"object"}},"field_tags":{"type":"array","items":{"type":"object"}},"data_path":{"type":"array","items":{"type":"object"}},"body_format":{"type":"array","items":{"type":"object"},"enum":["none","form-data","raw","text"]},"raw_body":{"type":"array","items":{"type":"object"}},"filters":{"type":"array","items":{"type":"object"}},"modified":{"type":"array","items":{"type":"object"}},"help_link":{"type":"array","items":{"type":"object"}},"authentication_implementations":{"type":"array","items":{"type":"object"}},"pre_script_version":{"type":"string"},"post_script_version":{"type":"string"},"disable_header_addition":{"type":"boolean"},"response_encoding":{"type":"string","enum":["base64","none"]}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"EndpointsUpdatePaginationRequest":{"type":"object","properties":{"variables":{"type":"string","properties":{"*":{"type":"object","properties":{"alias":{"type":"string"},"value":{"type":"string","nullable":true}}}}},"request_options":{"type":"array","nullable":true,"properties":{"*":{"type":"object","properties":{"key":{"type":"string"},"alias":{"type":"string"},"value":{"type":"string","nullable":true}}}}}},"required":["request_options","variables"]}}},"paths":{"/api/v1/endpoints/{endpoint}/pagination":{"put":{"summary":"Update Endpoint Pagination","description":"Updates the pagination method configuration for a specific endpoint.","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointsResponse"}}}},"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/EndpointsUpdatePaginationRequest"}}}},"tags":["Endpoints"]}}}}
```

## List Endpoint Schema

> Retrieves the schema defined for a specific endpoint.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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":{"EndpointsListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Endpoints"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"},"links":{"$ref":"#/components/schemas/PaginationLinks"}}},"Endpoints":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"field_path":{"type":"string"},"tags":{"type":"string"},"label":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"secret":{"type":"string"},"variables":{"type":"string","items":{"type":"object"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"object"},"system_id":{"type":"object"},"system":{"type":"object"},"entity_type_id":{"type":"object"},"entity_type":{"type":"object"},"endpoint":{"type":"string"},"http_method":{"type":"string","enum":["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"]},"data_type":{"type":"string","enum":["csv","json","txt","xml"]},"pagination_method":{"type":"string","enum":["Custom relative URI","Link Header","Next page token","Next Page URL","Page number parameter","Limit offset","default","PeopleVox","NetSuite SOAP","GraphQL Cursor","Database limit offset","Script"]},"deprecated_at":{"type":"string","format":"date-time"},"direction":{"type":"string","enum":["Send","Receive"]},"returns_multiple_records":{"type":"boolean"},"pre_script_version_id":{"type":"object"},"post_script_version_id":{"type":"array","items":{"type":"object"}},"endpoint_schema":{"type":"array","items":{"type":"object"}},"field_tags":{"type":"array","items":{"type":"object"}},"data_path":{"type":"array","items":{"type":"object"}},"body_format":{"type":"array","items":{"type":"object"},"enum":["none","form-data","raw","text"]},"raw_body":{"type":"array","items":{"type":"object"}},"filters":{"type":"array","items":{"type":"object"}},"modified":{"type":"array","items":{"type":"object"}},"help_link":{"type":"array","items":{"type":"object"}},"authentication_implementations":{"type":"array","items":{"type":"object"}},"pre_script_version":{"type":"string"},"post_script_version":{"type":"string"},"disable_header_addition":{"type":"boolean"},"response_encoding":{"type":"string","enum":["base64","none"]}}},"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/endpoints/{endpoint}/schema":{"get":{"summary":"List Endpoint Schema","description":"Retrieves the schema defined for a specific endpoint.","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointsListResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Endpoints"]}}}}
```

## List Endpoint Variables

> Retrieves a paginated list of variables for a specific endpoint. Can be filtered by \`label\`, \`key\`, and \`value\`.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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":{"VariablesListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Variables"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"},"links":{"$ref":"#/components/schemas/PaginationLinks"}}},"Variables":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"label":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"secret":{"type":"string"},"locked":{"type":"string"},"configurable":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"modified":{"type":"string"},"pivot":{"type":"string"},"required":{"type":"boolean"},"advanced":{"type":"boolean"},"alias":{"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/endpoints/{endpoint}/variables":{"get":{"summary":"List Endpoint Variables","description":"Retrieves a paginated list of variables for a specific endpoint. Can be filtered by `label`, `key`, and `value`.","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."},{"name":"filter[label]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by label."},{"name":"filter[key]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by key."},{"name":"filter[value]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by value."},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Sort field. Prefix with - for descending. Available: label, key, value"},{"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/VariablesListResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Endpoints"]}}}}
```

## Create Endpoint Variable

> Creates a new variable for a specific endpoint.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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":{"VariablesResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Variables"}}},"Variables":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"label":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"secret":{"type":"string"},"locked":{"type":"string"},"configurable":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"modified":{"type":"string"},"pivot":{"type":"string"},"required":{"type":"boolean"},"advanced":{"type":"boolean"},"alias":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"EndpointsStoreVariablesRequest":{"type":"object","properties":{"label":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"secret":{"type":"string"},"pivot":{"type":"object","properties":{"alias":{"type":"string"},"configurable":{"type":"string"},"required":{"type":"string"},"advanced":{"type":"string"}}}},"required":["label","key"]}}},"paths":{"/api/v1/endpoints/{endpoint}/variables":{"post":{"summary":"Create Endpoint Variable","description":"Creates a new variable for a specific endpoint.","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariablesResponse"}}}},"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/EndpointsStoreVariablesRequest"}}}},"tags":["Endpoints"]}}}}
```

## Delete Endpoint Variable

> Permanently deletes a specific variable for a specific endpoint.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Endpoints"}],"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/endpoints/{endpoint}/variables/{variable}":{"delete":{"summary":"Delete Endpoint Variable","description":"Permanently deletes a specific variable for a specific endpoint.","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string"},"description":"The endpoint identifier."},{"name":"variable","in":"path","required":true,"schema":{"type":"string"},"description":"The variable identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Endpoints"]}}}}
```
