---
title: "Replace an edge definition"
method: PUT
path: "/_fabric/{fabric}/_api/graph/{graph}/edge/{edgeCollection}"
tags: ["Graphs"]
---

# Replace an edge definition

`PUT /_fabric/{fabric}/_api/graph/{graph}/edge/{edgeCollection}`

## Request

- The document declares no server URL.
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/macrometa/apis/macrometa-api-reference/docs/_fabric/:fabric/_api/graph/:graph/edge/:edgeCollection/put.ts> (a function with typed inputs; its response is checked against the schema)

Change a specified edge definition.

This modifies all occurrences of this definition in all graphs known to your GeoFabric.

**Note**: Requires *administrator* permissions.

## Path parameters

- `fabric` string, string, required
- `graph` string, string, required
- `edgeCollection` string, string, required

## Query parameters

- `dropCollections` boolean

## Request body

- GraphEdgeDefinitionModifyHttpExamples
  - `collection` string, required: The name of the edge collection to be used.
  - `from` string[]: One or many vertex collections that can contain source vertices.
  - `to` string[]: One or many vertex collections that can contain target vertices.

## Response `201`

Successfully replaced edge when *waitForSync* is enabled.

- GraphEdgeDefinitionModifyHttpExamplesRc201
  - `code` integer: HTTP response code.
  - `error` boolean, required: Flag if there is an error in response. *False* for this response.
  - `graph` GraphRepresentation: The information about the newly created graph.
    - `_id` string: The internal id value of this graph.
    - `_key` string: The key of this graph.
    - `_rev` string: The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.
    - `edgedefinitions` GraphEdgeDefinition[]: An array of definitions for the relations of the graph.
      - `collection` string: Name of the edge collection, where the edge are stored in.
      - `from` string[]: List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.
      - `to` string[]: List of vertex collection names. Edges in collection can only be inserted if their _to is in any of the collections here.
    - `name` string: The name of the graph.
    - `orphanCollections` string[]: An array of additional vertex collections. Documents within these collections do not have edges within this graph.

## Other responses

- `202`: Successfully replaced edge when *waitForSync* is disabled.
- `400`: Failed due to missing or malformed data. Verify that all parameters are complete.
- `403`: Failed to validate because you do not have access to the server.
- `404`: Failed to find specified graph.

---

[API](https://skmtc.dev/macrometa/apis/macrometa-api-reference.md) - [All operations](https://skmtc.dev/macrometa/apis/macrometa-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/macrometa/apis/macrometa-api-reference/revisions/2006b6d7f31d?raw)
