OData OData Service API API

The OData Service API API from OData — 3 operation(s) for odata service api.

Operations 6

GET / OData Get Service Document #
GET /{entitySet} OData Query Entity Collection #
POST /{entitySet} OData Create Entity #
GET /{entitySet}({key}) OData Get Entity by Key #
PATCH /{entitySet}({key}) OData Update Entity #
DELETE /{entitySet}({key}) OData Delete Entity #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/odata-odata-service-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

odata-odata-service-api-api-openapi.yml Raw ↑
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