# 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":"[T1159-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":"[T1159-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":"[T1159-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":"[T1159-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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.odds88.io/odds88-client-api/odds88-api-endpoints/metadata-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
