OData OData Service API API
The OData Service API API from OData — 3 operation(s) for odata service api.
The OData Service API API from OData — 3 operation(s) for odata service api.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/odata-odata-service-api-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: OData Service API
description: OpenAPI specification for the OData (Open Data Protocol) standard service endpoints. OData is an OASIS standard that defines best practices for building and consuming RESTful APIs. It enables the creation of query-based data services over HTTP using standard conventions for resource identification, URL construction, and payload formats.
version: '4.01'
contact:
name: OASIS OData Technical Committee
url: https://www.odata.org/
license:
name: OASIS Open
url: https://www.oasis-open.org/policies-guidelines/ipr/
servers:
- url: https://services.odata.org/V4/TripPinService
description: OData TripPin Reference Service
- url: '{serviceRoot}'
description: Custom OData Service Root
variables:
serviceRoot:
default: https://localhost/odata
description: The root URL of the OData service
tags:
- name: OData Service API
paths:
/:
get:
operationId: getServiceDocument
summary: OData Get Service Document
description: Returns the OData service document, which lists all available entity sets, singletons, and function imports exposed by the service.
parameters:
- $ref: '#/components/parameters/ODataVersion'
- $ref: '#/components/parameters/Accept'
responses:
'200':
description: Service document returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceDocument'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
tags:
- OData Service API
/{entitySet}:
get:
operationId: getEntityCollection
summary: OData Query Entity Collection
description: Retrieves a collection of entities from the specified entity set. Supports OData system query options for filtering, sorting, pagination, and projection.
parameters:
- name: entitySet
in: path
required: true
description: Name of the entity set to query
schema:
type: string
- $ref: '#/components/parameters/ODataVersion'
- $ref: '#/components/parameters/Accept'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Select'
- $ref: '#/components/parameters/Expand'
- $ref: '#/components/parameters/OrderBy'
- $ref: '#/components/parameters/Top'
- $ref: '#/components/parameters/Skip'
- $ref: '#/components/parameters/Count'
- $ref: '#/components/parameters/Search'
- $ref: '#/components/parameters/Format'
responses:
'200':
description: Entity collection returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/EntityCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
tags:
- OData Service API
post:
operationId: createEntity
summary: OData Create Entity
description: Creates a new entity in the specified entity set.
parameters:
- name: entitySet
in: path
required: true
description: Name of the entity set
schema:
type: string
- $ref: '#/components/parameters/ODataVersion'
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Entity data conforming to the entity type schema
responses:
'201':
description: Entity created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Entity'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
description: Conflict - entity already exists
content:
application/json:
schema:
$ref: '#/components/schemas/ODataError'
'500':
$ref: '#/components/responses/InternalServerError'
tags:
- OData Service API
/{entitySet}({key}):
get:
operationId: getEntity
summary: OData Get Entity by Key
description: Retrieves a single entity by its key value.
parameters:
- name: entitySet
in: path
required: true
schema:
type: string
- name: key
in: path
required: true
description: The key value identifying the entity
schema:
type: string
- $ref: '#/components/parameters/ODataVersion'
- $ref: '#/components/parameters/Accept'
- $ref: '#/components/parameters/Select'
- $ref: '#/components/parameters/Expand'
responses:
'200':
description: Entity returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Entity'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
tags:
- OData Service API
patch:
operationId: updateEntity
summary: OData Update Entity
description: Updates an existing entity using PATCH (merge semantics).
parameters:
- name: entitySet
in: path
required: true
schema:
type: string
- name: key
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/ODataVersion'
- name: If-Match
in: header
description: ETag value for optimistic concurrency control
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Entity updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Entity'
'204':
description: Entity updated successfully (no content)
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'412':
description: Precondition failed - ETag mismatch
content:
application/json:
schema:
$ref: '#/components/schemas/ODataError'
'500':
$ref: '#/components/responses/InternalServerError'
tags:
- OData Service API
delete:
operationId: deleteEntity
summary: OData Delete Entity
description: Deletes an entity from the specified entity set.
parameters:
- name: entitySet
in: path
required: true
schema:
type: string
- name: key
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/ODataVersion'
- name: If-Match
in: header
description: ETag value for optimistic concurrency control
schema:
type: string
responses:
'204':
description: Entity deleted successfully
'404':
$ref: '#/components/responses/NotFound'
'412':
description: Precondition failed - ETag mismatch
content:
application/json:
schema:
$ref: '#/components/schemas/ODataError'
'500':
$ref: '#/components/responses/InternalServerError'
tags:
- OData Service API
components:
parameters:
Count:
name: $count
in: query
description: Whether to include a count of matching entities
schema:
type: boolean
Format:
name: $format
in: query
description: Response format override
schema:
type: string
enum:
- json
- xml
Expand:
name: $expand
in: query
description: Related entities to include inline
schema:
type: string
example: Orders
Filter:
name: $filter
in: query
description: OData filter expression to restrict returned entities
schema:
type: string
example: Name eq 'Smith'
Skip:
name: $skip
in: query
description: Number of entities to skip
schema:
type: integer
minimum: 0
Select:
name: $select
in: query
description: Comma-separated list of properties to include
schema:
type: string
example: Name,Age
Search:
name: $search
in: query
description: Free-text search expression
schema:
type: string
Accept:
name: Accept
in: header
schema:
type: string
default: application/json
OrderBy:
name: $orderby
in: query
description: Property and direction for sorting
schema:
type: string
example: Name asc
ODataVersion:
name: OData-Version
in: header
description: OData protocol version
schema:
type: string
enum:
- '4.0'
- '4.01'
default: '4.01'
Top:
name: $top
in: query
description: Maximum number of entities to return
schema:
type: integer
minimum: 0
schemas:
EntityCollection:
type: object
required:
- value
properties:
'@odata.context':
type: string
description: Context URL describing the entity type
'@odata.count':
type: integer
description: Total count of matching entities (if requested)
'@odata.nextLink':
type: string
format: uri
description: URL to the next page of results
'@odata.deltaLink':
type: string
format: uri
description: URL to track changes from this point
value:
type: array
items:
$ref: '#/components/schemas/Entity'
ServiceDocumentItem:
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the entity set, singleton, or function import
kind:
type: string
enum:
- EntitySet
- Singleton
- FunctionImport
- ServiceDocument
description: Kind of resource
url:
type: string
description: URL relative to the service root
ServiceDocument:
type: object
required:
- '@odata.context'
- value
properties:
'@odata.context':
type: string
description: Context URL pointing to the metadata document
example: https://services.odata.org/V4/TripPinService/$metadata
value:
type: array
items:
$ref: '#/components/schemas/ServiceDocumentItem'
ODataError:
type: object
required:
- error
properties:
error:
type: object
required:
- code
- message
properties:
code:
type: string
description: Service-defined error code
message:
type: string
description: Human-readable error message
target:
type: string
description: Target of the error (e.g., property name)
details:
type: array
items:
type: object
required:
- code
- message
properties:
code:
type: string
message:
type: string
target:
type: string
innererror:
type: object
description: Service-defined inner error details
additionalProperties: true
Entity:
type: object
properties:
'@odata.context':
type: string
'@odata.etag':
type: string
description: ETag for concurrency control
'@odata.id':
type: string
description: Entity ID URL
'@odata.editLink':
type: string
description: URL for editing the entity
'@odata.type':
type: string
description: Fully qualified entity type name
additionalProperties: true
responses:
InternalServerError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ODataError'
Unauthorized:
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/ODataError'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ODataError'
BadRequest:
description: Bad request - invalid query or request body
content:
application/json:
schema:
$ref: '#/components/schemas/ODataError'
externalDocs:
description: OData Version 4.01 Specification
url: https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html