# API

## API Resources

{% hint style="info" %}
<https://api.fide.id> is the GraphQL Endpoint. Query definitions coming soon!
{% endhint %}

## *A simple example of a "blockchain\_address" entity query*

{% tabs %}
{% tab title="GraphQL" %}

### Try It Now!

{% embed url="<https://graphql-extractor-w72to35ypa-uc.a.run.app/>" %}

POST Endpint

```graphql
https://api.fide.id
```

\
Query

```graphql
query getEntity($fide_id: String, $blockchain_address: String) {
  entity(input:{fide_id:$fide_id, blockchain_address: $blockchain_address}) {
    blockchain_addresses
    links
    fide_id
  }
}
```

Variables

```graphql
{
    "blockchain_address": "0x0fb213a1af101b1429e6ad3020ad92fb0d25eb1e"
}
```

Headers

```graphql
{
    "x-api-key": "YOUR_API_KEY"
}
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("x-api-key", "YOUR_API_KEY");

var graphql = JSON.stringify({
  query: "query getEntity($fide_id: String, $blockchain_address: String) {\r\n  entity(input:{fide_id:$fide_id, blockchain_address: $blockchain_address}) {\r\n    blockchain_addresses\r\n    links\r\n    fide_id\r\n  }\r\n}",
  variables: {"blockchain_address":"0x0fb213a1af101b1429e6ad3020ad92fb0d25eb1e"}
})
var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: graphql,
  redirect: 'follow'
};

fetch("https://api.fide.id", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
```

{% endtab %}

{% tab title="cURL" %}

```javascript
curl --location 'https://api.fide.id' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{"query":"query getEntity($fide_id: String, $blockchain_address: String) {\r\n  entity(input:{fide_id:$fide_id, blockchain_address: $blockchain_address}) {\r\n    blockchain_addresses\r\n    links\r\n    fide_id\r\n  }\r\n}","variables":{"blockchain_address":"0x0fb213a1af101b1429e6ad3020ad92fb0d25eb1e"}}'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = "https://api.fide.id"

payload = "{\"query\":\"query getEntity($fide_id: String, $blockchain_address: String) {\\r\\n  entity(input:{fide_id:$fide_id, blockchain_address: $blockchain_address}) {\\r\\n    blockchain_addresses\\r\\n    links\\r\\n    fide_id\\r\\n  }\\r\\n}\",\"variables\":{\"blockchain_address\":\"0x0fb213a1af101b1429e6ad3020ad92fb0d25eb1e\"}}"
headers = {
  'Content-Type': 'application/json',
  'x-api-key': 'YOUR_API_KEY'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

```

{% endtab %}

{% tab title="C#" %}

```csharp
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.fide.id");
request.Headers.Add("x-api-key", "YOUR_API_KEY");
var content = new StringContent("{\"query\":\"query getEntity($fide_id: String, $blockchain_address: String) {\\r\\n  entity(input:{fide_id:$fide_id, blockchain_address: $blockchain_address}) {\\r\\n    blockchain_addresses\\r\\n    links\\r\\n    fide_id\\r\\n  }\\r\\n}\",\"variables\":{\"blockchain_address\":\"0x0fb213a1af101b1429e6ad3020ad92fb0d25eb1e\"}}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

```

{% endtab %}

{% tab title="Go" %}

```
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.fide.id"
  method := "POST"

  payload := strings.NewReader("{\"query\":\"query getEntity($fide_id: String, $blockchain_address: String) {\\r\\n  entity(input:{fide_id:$fide_id, blockchain_address: $blockchain_address}) {\\r\\n    blockchain_addresses\\r\\n    links\\r\\n    fide_id\\r\\n  }\\r\\n}\",\"variables\":{\"blockchain_address\":\"0x0fb213a1af101b1429e6ad3020ad92fb0d25eb1e\"}}")

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("x-api-key", "YOUR_API_KEY")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
```

{% endtab %}
{% endtabs %}

{% content-ref url="api/entity-schema" %}
[entity-schema](https://docs.fide.id/api/entity-schema)
{% endcontent-ref %}

{% content-ref url="api/source-schema" %}
[source-schema](https://docs.fide.id/api/source-schema)
{% endcontent-ref %}

{% content-ref url="api/contribution-schema" %}
[contribution-schema](https://docs.fide.id/api/contribution-schema)
{% endcontent-ref %}

{% content-ref url="api/authentication" %}
[authentication](https://docs.fide.id/api/authentication)
{% endcontent-ref %}

{% content-ref url="api/legacy-endpoints" %}
[legacy-endpoints](https://docs.fide.id/api/legacy-endpoints)
{% endcontent-ref %}
