Microsoft Entra ID (formerly Azure AD) Contacts.org Contact API

The contacts.orgContact API from Microsoft Entra ID (formerly Azure AD) — 3 operation(s) for contacts.orgcontact.

Operations 5

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /contacts List organizational contacts · List orgContacts #
Ask an LLM
“Which external contacts are in our organization's directory?”
“Can I list organizational contacts filtered by company or name?”
Tell an agent
List all organizational contacts.
Show organizational contacts matching the filter {filter}.
GET /contacts/{orgContact-id} Get an organizational contact · Get orgContact #
Ask an LLM
“How do I look up an external contact's email, phones and company?”
“What properties does a single organizational contact have?”
Tell an agent
Get organizational contact {contact}.
Show the email and job title of contact {contact}.
PATCH /contacts/{orgContact-id} Update an organizational contact · Update entity in contacts #
Ask an LLM
“How do I change an external contact's job title or department?”
“Can I update the phone numbers stored on an org contact?”
Tell an agent
Set the job title of contact {contact} to {jobTitle}.
Change the company name of org contact {contact} to {company}.
DELETE /contacts/{orgContact-id} Delete an organizational contact · Delete entity from contacts #
Ask an LLM
“How do I remove an external contact from our directory?”
“Can I delete an org contact only if it hasn't changed since I read it?”
Tell an agent destructive · confirm first
Delete organizational contact {contact}.
Remove contact {contact} if its ETag is {etag}.
GET /contacts/$count Count organizational contacts · Get the number of the resource #
Ask an LLM
“How many organizational contacts do we have?”
“What's the total count of external contacts in the directory?”
Tell an agent
Count the organizational contacts.
Tell me how many external contacts our tenant holds.

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/azure-ad:azure-ad-contacts-orgcontact-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

azure-ad-contacts-orgcontact-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Identity.DirectoryManagement Contacts.org Contact API
  version: v1.0
servers:
- url: https://graph.microsoft.com/v1.0/
  description: Core
security:
- azureaadv2: []
tags:
- name: contacts.orgContact
paths:
  /contacts:
    get:
      tags:
      - contacts.orgContact
      summary: List orgContacts
      description: Get the list of organizational contacts for this organization.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/orgcontact-list?view=graph-rest-1.0
      operationId: contact.orgContact_ListOrgContact
      parameters:
      - name: ConsistencyLevel
        in: header
        description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries'
        style: simple
        schema:
          type: string
        examples:
          example-1:
            description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'.
            value: eventual
      - $ref: '#/components/parameters/top'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/count'
      - name: $orderby
        in: query
        description: Order items by property values
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $select
        in: query
        description: Select properties to be returned
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $expand
        in: query
        description: Expand related entities
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      responses:
        2XX:
          $ref: '#/components/responses/microsoft.graph.orgContactCollectionResponse'
        default:
          $ref: '#/components/responses/error'
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
      x-ms-docs-operation-type: operation
  /contacts/{orgContact-id}:
    get:
      tags:
      - contacts.orgContact
      summary: Get orgContact
      description: Get the properties and relationships of an organizational contact.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/orgcontact-get?view=graph-rest-1.0
      operationId: contact.orgContact_GetOrgContact
      parameters:
      - name: orgContact-id
        in: path
        description: The unique identifier of orgContact
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: orgContact
      - name: $select
        in: query
        description: Select properties to be returned
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $expand
        in: query
        description: Expand related entities
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      responses:
        2XX:
          description: Retrieved entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.orgContact'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    patch:
      tags:
      - contacts.orgContact
      summary: Update entity in contacts
      operationId: contact.orgContact_UpdateOrgContact
      parameters:
      - name: orgContact-id
        in: path
        description: The unique identifier of orgContact
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: orgContact
      requestBody:
        description: New property values
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.orgContact'
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.orgContact'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    delete:
      tags:
      - contacts.orgContact
      summary: Delete entity from contacts
      operationId: contact.orgContact_DeleteOrgContact
      parameters:
      - name: orgContact-id
        in: path
        description: The unique identifier of orgContact
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: orgContact
      - name: If-Match
        in: header
        description: ETag
        style: simple
        schema:
          type: string
      responses:
        2XX:
          description: Success
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
  /contacts/$count:
    get:
      tags:
      - contacts.orgContact
      summary: Get the number of the resource
      operationId: contact_GetCount
      parameters:
      - name: ConsistencyLevel
        in: header
        description: 'Indicates the requested consistency level. Documentation URL: https://docs.microsoft.com/graph/aad-advanced-queries'
        style: simple
        schema:
          type: string
        examples:
          example-1:
            description: $search and $count queries require the client to set the ConsistencyLevel HTTP header to 'eventual'.
            value: eventual
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/filter'
      responses:
        2XX:
          $ref: '#/components/responses/ODataCountResponse'
        default:
          $ref: '#/components/responses/error'
components:
  schemas:
    microsoft.graph.phoneType:
      title: phoneType
      enum:
      - home
      - business
      - mobile
      - other
      - assistant
      - homeFax
      - businessFax
      - otherFax
      - pager
      - radio
      type: string
    microsoft.graph.orgContact:
      allOf:
      - $ref: '#/components/schemas/microsoft.graph.directoryObject'
      - title: orgContact
        type: object
        properties:
          addresses:
            type: array
            items:
              $ref: '#/components/schemas/microsoft.graph.physicalOfficeAddress'
            description: Postal addresses for this organizational contact. For now a contact can only have one physical address.
          companyName:
            type:
            - string
            - 'null'
            description: Name of the company that this organizational contact belongs to.  Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
          department:
            type:
            - string
            - 'null'
            description: The name for the department in which the contact works.  Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
          displayName:
            type:
            - string
            - 'null'
            description: Display name for this organizational contact. Maximum length is 256 characters. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values), $search, and $orderby.
          givenName:
            type:
            - string
            - 'null'
            description: First name for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
          jobTitle:
            type:
            - string
            - 'null'
            description: Job title for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
          mail:
            type:
            - string
            - 'null'
            description: The SMTP address for the contact, for example, 'jeff@contoso.com'. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
          mailNickname:
            type:
            - string
            - 'null'
            description: Email alias (portion of email address pre-pending the @ symbol) for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
          onPremisesLastSyncDateTime:
            pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$
            type:
            - string
            - 'null'
            description: Date and time when this organizational contact was last synchronized from on-premises AD. This date and time information uses ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Supports $filter (eq, ne, not, ge, le, in).
            format: date-time
          onPremisesProvisioningErrors:
            type: array
            items:
              $ref: '#/components/schemas/microsoft.graph.onPremisesProvisioningError'
            description: List of any synchronization provisioning errors for this organizational contact. Supports $filter (eq, not for category and propertyCausingError), /$count eq 0, /$count ne 0.
          onPremisesSyncEnabled:
            type:
            - boolean
            - 'null'
            description: true if this object is synced from an on-premises directory; false if this object was originally synced from an on-premises directory but is no longer synced and now mastered in Exchange; null if this object has never been synced from an on-premises directory (default).   Supports $filter (eq, ne, not, in, and eq for null values).
          phones:
            type: array
            items:
              $ref: '#/components/schemas/microsoft.graph.phone'
            description: List of phones for this organizational contact. Phone types can be mobile, business, and businessFax. Only one of each type can ever be present in the collection.
          proxyAddresses:
            type: array
            items:
              type: string
            description: 'For example: ''SMTP: bob@contoso.com'', ''smtp: bob@sales.contoso.com''. The any operator is required for filter expressions on multi-valued properties. Supports $filter (eq, not, ge, le, startsWith, /$count eq 0, /$count ne 0).'
          serviceProvisioningErrors:
            type: array
            items:
              $ref: '#/components/schemas/microsoft.graph.serviceProvisioningError'
            description: Errors published by a federated service describing a non-transient, service-specific error regarding the properties or link from an organizational contact object .  Supports $filter (eq, not, for isResolved and serviceInstance).
          surname:
            type:
            - string
            - 'null'
            description: Last name for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
          directReports:
            type: array
            items:
              $ref: '#/components/schemas/microsoft.graph.directoryObject'
            description: The contact's direct reports. (The users and contacts that have their manager property set to this contact.)  Read-only. Nullable. Supports $expand.
            x-ms-navigationProperty: true
          manager:
            $ref: '#/components/schemas/microsoft.graph.directoryObject'
          memberOf:
            type: array
            items:
              $ref: '#/components/schemas/microsoft.graph.directoryObject'
            description: Groups that this contact is a member of. Read-only. Nullable. Supports $expand.
            x-ms-navigationProperty: true
          onPremisesSyncBehavior:
            $ref: '#/components/schemas/microsoft.graph.onPremisesSyncBehavior'
          transitiveMemberOf:
            type: array
            items:
              $ref: '#/components/schemas/microsoft.graph.directoryObject'
            description: Groups that this contact is a member of, including groups that the contact is nested under. Read-only. Nullable.
            x-ms-navigationProperty: true
        additionalProperties:
          type: object
    microsoft.graph.ODataErrors.InnerError:
      type: object
      additionalProperties:
        type: object
      description: The structure of this object is service-specific
    microsoft.graph.ODataErrors.MainError:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
        message:
          type: string
          x-ms-primary-error-message: true
        target:
          type:
          - string
          - 'null'
        details:
          type: array
          items:
            $ref: '#/components/schemas/microsoft.graph.ODataErrors.ErrorDetails'
        innerError:
          $ref: '#/components/schemas/microsoft.graph.ODataErrors.InnerError'
      additionalProperties:
        type: object
    microsoft.graph.onPremisesSyncBehavior:
      allOf:
      - $ref: '#/components/schemas/microsoft.graph.entity'
      - title: onPremisesSyncBehavior
        type: object
        properties:
          isCloudManaged:
            type: boolean
        additionalProperties:
          type: object
    microsoft.graph.directoryObject:
      allOf:
      - $ref: '#/components/schemas/microsoft.graph.entity'
      - title: directoryObject
        type: object
        properties:
          deletedDateTime:
            pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$
            type:
            - string
            - 'null'
            description: Date and time when this object was deleted. Always null when the object hasn't been deleted.
            format: date-time
        additionalProperties:
          type: object
    microsoft.graph.onPremisesProvisioningError:
      title: onPremisesProvisioningError
      type: object
      properties:
        category:
          type:
          - string
          - 'null'
          description: 'Category of the provisioning error. Note: Currently, there is only one possible value. Possible value: PropertyConflict - indicates a property value is not unique. Other objects contain the same value for the property.'
        occurredDateTime:
          pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$
          type:
          - string
          - 'null'
          description: The date and time at which the error occurred.
          format: date-time
        propertyCausingError:
          type:
          - string
          - 'null'
          description: 'Name of the directory property causing the error. Current possible values: UserPrincipalName or ProxyAddress'
        value:
          type:
          - string
          - 'null'
          description: Value of the property causing the error.
      additionalProperties:
        type: object
    microsoft.graph.orgContactCollectionResponse:
      title: Collection of orgContact
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/microsoft.graph.orgContact'
        '@odata.nextLink':
          type:
          - string
          - 'null'
      additionalProperties:
        type: object
    microsoft.graph.ODataErrors.ODataError:
      required:
      - error
      type: object
      properties:
        error:
          $ref: '#/components/schemas/microsoft.graph.ODataErrors.MainError'
      additionalProperties:
        type: object
    microsoft.graph.ODataErrors.ErrorDetails:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        target:
          type:
          - string
          - 'null'
      additionalProperties:
        type: object
    microsoft.graph.entity:
      title: entity
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for an entity. Read-only.
      additionalProperties:
        type: object
    microsoft.graph.phone:
      title: phone
      type: object
      properties:
        language:
          type:
          - string
          - 'null'
        number:
          type:
          - string
          - 'null'
          description: The phone number.
        region:
          type:
          - string
          - 'null'
        type:
          $ref: '#/components/schemas/microsoft.graph.phoneType'
      additionalProperties:
        type: object
    microsoft.graph.physicalOfficeAddress:
      title: physicalOfficeAddress
      type: object
      properties:
        city:
          type:
          - string
          - 'null'
          description: The city.
        countryOrRegion:
          type:
          - string
          - 'null'
          description: The country or region. It's a free-format string value, for example, 'United States'.
        officeLocation:
          type:
          - string
          - 'null'
          description: Office location such as building and office number for an organizational contact.
        postalCode:
          type:
          - string
          - 'null'
          description: The postal code.
        state:
          type:
          - string
          - 'null'
          description: The state.
        street:
          type:
          - string
          - 'null'
          description: The street.
      additionalProperties:
        type: object
    ODataCountResponse:
      type: integer
      format: int32
    microsoft.graph.serviceProvisioningError:
      title: serviceProvisioningError
      type: object
      properties:
        createdDateTime:
          pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$
          type:
          - string
          - 'null'
          description: The date and time at which the error occurred.
          format: date-time
        isResolved:
          type:
          - boolean
          - 'null'
          description: Indicates whether the error has been attended to.
        serviceInstance:
          type:
          - string
          - 'null'
          description: Qualified service instance (for example, 'SharePoint/Dublin') that published the service error information.
      additionalProperties:
        type: object
  responses:
    error:
      description: error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/microsoft.graph.ODataErrors.ODataError'
    microsoft.graph.orgContactCollectionResponse:
      description: Retrieved collection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/microsoft.graph.orgContactCollectionResponse'
    ODataCountResponse:
      description: The count of the resource
      content:
        text/plain:
          schema:
            $ref: '#/components/schemas/ODataCountResponse'
  parameters:
    skip:
      name: $skip
      in: query
      description: Skip the first n items
      style: form
      explode: false
      schema:
        minimum: 0
        type: integer
    top:
      name: $top
      in: query
      description: Show only the first n items
      style: form
      explode: false
      schema:
        minimum: 0
        type: integer
      example: 50
    filter:
      name: $filter
      in: query
      description: Filter items by property values
      style: form
      explode: false
      schema:
        type: string
    search:
      name: $search
      in: query
      description: Search items by search phrases
      style: form
      explode: false
      schema:
        type: string
    count:
      name: $count
      in: query
      description: Include count of items
      style: form
      explode: false
      schema:
        type: boolean
  securitySchemes:
    azureaadv2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes: {}