> For the complete documentation index, see [llms.txt](https://docs.odds88.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.odds88.io/odds88-client-api/odds88-api-endpoints/metadata-api.md).

# Metadata API

Metadata API can be used to fetch supplementary information about specific sport event.

{% hint style="warning" %}
The endpoints are rate-limited.
{% endhint %}

## Gets metadata of specific type and version for a specific event.

> \
> \*\*Rate Limits (per account):\*\*\
> \- \*\*20 req/1s\*\*

```json
{"openapi":"3.0.4","info":{"title":"[T728-STAGE] Odds88 API","version":"v1"},"tags":[{"name":"Metadata"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"","scheme":"Bearer","bearerFormat":"JWT"}},"schemas":{"Marlin.SportsbetApi.Metadata.Model.EventMetadataViewModel":{"type":"object","properties":{"eventId":{"type":"integer","format":"int64"},"sportId":{"type":"integer","format":"int64"},"dataType":{"type":"string","nullable":true},"version":{"type":"integer","format":"int64","nullable":true},"data":{"nullable":true},"creationTime":{"type":"string","format":"date-time"}},"additionalProperties":false},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/api/Metadata/event/{dataType}/{eventId}":{"get":{"tags":["Metadata"],"summary":"Gets metadata of specific type and version for a specific event.","description":"\n**Rate Limits (per account):**\n- **20 req/1s**","parameters":[{"name":"eventId","in":"path","description":"TradeArt event id.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"dataType","in":"path","description":"Metadata type.","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Expected version of metadata. Will return latest if not specified.","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Marlin.SportsbetApi.Metadata.Model.EventMetadataViewModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Marlin.SportsbetApi.Metadata.Model.EventMetadataViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Marlin.SportsbetApi.Metadata.Model.EventMetadataViewModel"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"429":{"description":"Too many requests"}}}}}}
```

{% hint style="warning" %}
This endpoint is rate-limited to **20 requests per second.**
{% endhint %}

## Gets known metadata types for a specific sport.

> \
> \*\*Rate Limits (per account):\*\*\
> \- \*\*20 req/1s\*\*

```json
{"openapi":"3.0.4","info":{"title":"[T728-STAGE] Odds88 API","version":"v1"},"tags":[{"name":"Metadata"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"","scheme":"Bearer","bearerFormat":"JWT"}}},"paths":{"/api/Metadata/sport/types/{sportId}":{"get":{"tags":["Metadata"],"summary":"Gets known metadata types for a specific sport.","description":"\n**Rate Limits (per account):**\n- **20 req/1s**","parameters":[{"name":"sportId","in":"path","description":"TradeArt sport id.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"type":"string"}}},"application/json":{"schema":{"type":"array","items":{"type":"string"}}},"text/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too many requests"}}}}}}
```

{% hint style="warning" %}
This endpoint is rate-limited to **20 requests per second.**
{% endhint %}

## Gets all latest metadata for a specific event.

> \
> \*\*Rate Limits (per account):\*\*\
> \- \*\*1 req/1s\*\*

```json
{"openapi":"3.0.4","info":{"title":"[T728-STAGE] Odds88 API","version":"v1"},"tags":[{"name":"Metadata"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"","scheme":"Bearer","bearerFormat":"JWT"}},"schemas":{"Marlin.SportsbetApi.Metadata.Model.EventMetadataViewModel":{"type":"object","properties":{"eventId":{"type":"integer","format":"int64"},"sportId":{"type":"integer","format":"int64"},"dataType":{"type":"string","nullable":true},"version":{"type":"integer","format":"int64","nullable":true},"data":{"nullable":true},"creationTime":{"type":"string","format":"date-time"}},"additionalProperties":false}}},"paths":{"/api/Metadata/event/all/{eventId}":{"get":{"tags":["Metadata"],"summary":"Gets all latest metadata for a specific event.","description":"\n**Rate Limits (per account):**\n- **1 req/1s**","parameters":[{"name":"eventId","in":"path","description":"TradeArt event id.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Marlin.SportsbetApi.Metadata.Model.EventMetadataViewModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Marlin.SportsbetApi.Metadata.Model.EventMetadataViewModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Marlin.SportsbetApi.Metadata.Model.EventMetadataViewModel"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too many requests"}}}}}}
```

{% hint style="warning" %}
This endpoint is rate-limited to **1 request per second.**
{% endhint %}

## Gets all existing metadata types for a specific event.

> \
> \*\*Rate Limits (per account):\*\*\
> \- \*\*40 req/1s\*\*

```json
{"openapi":"3.0.4","info":{"title":"[T728-STAGE] Odds88 API","version":"v1"},"tags":[{"name":"Metadata"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"","scheme":"Bearer","bearerFormat":"JWT"}}},"paths":{"/api/Metadata/event/types/{eventId}":{"get":{"tags":["Metadata"],"summary":"Gets all existing metadata types for a specific event.","description":"\n**Rate Limits (per account):**\n- **40 req/1s**","parameters":[{"name":"eventId","in":"path","description":"TradeArt event id.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"type":"string"}}},"application/json":{"schema":{"type":"array","items":{"type":"string"}}},"text/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too many requests"}}}}}}
```

{% hint style="warning" %}
This endpoint is rate-limited to **40 requests per second.**
{% endhint %}
