APIContext Project Access API
Manage direct account access grants on projects.
Manage direct account access grants on projects.
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/apicontext:apicontext-project-access-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: APImetrics Project Access API
description: API for the APImetrics platform
termsOfService: http://apimetrics.io/tos/
contact:
name: APIContext Support
url: https://apicontext.io/
email: support@apicontext.com
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: v2026-09-02
tags:
- name: Project Access
description: Manage direct account access grants on projects.
paths:
/api/2/organizations/{org_id}/projects/access:
get:
tags:
- Project Access
summary: List-Project-Access-By-Org
description: List all direct account access grants across an organization's projects.
operationId: list-project-access-by-org
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: org_id
in: path
required: true
schema:
type: string
pattern: ^[a-z0-9]{3,400}$
title: Organization ID
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Cursor
- name: limit
in: query
required: false
schema:
type: integer
default: 25
title: Limit
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectAccessListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/2/projects/{project_key_str}/access/:
get:
tags:
- Project Access
summary: List-Project-Access
description: List direct account access grants for a project.
operationId: list-project-access
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: project_key_str
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Resource ID
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Cursor
- name: limit
in: query
required: false
schema:
type: integer
default: 25
title: Limit
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectAccessListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Project Access
summary: Create-Project-Access
description: Grant an account direct access to a project.
operationId: create-project-access
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: project_key_str
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Resource ID
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectAccessBody'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/2/projects/{project_key_str}/access/{project_access_id}/:
get:
tags:
- Project Access
summary: Get-Project-Access
description: Get a project access grant by id.
operationId: get-project-access
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: project_access_id
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Resource ID
- name: project_key_str
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Resource ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Project Access
summary: Update-Project-Access
description: Update a project access grant.
operationId: update-project-access
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: project_access_id
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Resource ID
- name: project_key_str
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Resource ID
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProjectAccessBody'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Project Access
summary: Delete-Project-Access
description: Delete a project access grant.
operationId: delete-project-access
security:
- OAuth2: []
- ApiKey: []
parameters:
- name: project_access_id
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Resource ID
- name: project_key_str
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]+$
title: Resource ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ProjectAccessListResponse:
properties:
meta:
$ref: '#/components/schemas/ProjectAccessListMeta'
results:
items:
$ref: '#/components/schemas/api2__projects__proj_access__ProjectAccessResponse'
type: array
title: Results
type: object
required:
- meta
- results
title: ProjectAccessListResponse
examples:
- meta:
more: false
results:
- access_level: EDITOR
account_email: user@example.com
account_id: auth0|5f00000000000000000000aa
created: '2026-06-25T10:13:37.546136Z'
id: ahFkZXZ-YXBpbWV0cmljcy1xY3IVCxIOQWNjb3VudFByb2plY3QYq0IM
last_update: '2026-06-25T10:13:37.597335Z'
project:
created: '2026-06-19T09:06:47.046143Z'
id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw
last_update: '2026-06-19T09:06:47.046170Z'
name: Project 1
org_id: apicontext
tags: []
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
ProjectAccessListMeta:
properties:
next_cursor:
anyOf:
- type: integer
- type: string
- type: 'null'
title: Next Cursor
more:
type: boolean
title: More
project_id:
anyOf:
- type: string
- type: 'null'
title: Project Id
type: object
required:
- next_cursor
- more
title: ProjectAccessListMeta
api2__projects__proj_access__ProjectAccessResponse:
properties:
id:
type: string
title: Id
project:
$ref: '#/components/schemas/ProjectResponse'
access_level:
type: string
title: Access Level
account_id:
type: string
title: Account Id
account_email:
type: string
title: Account Email
last_update:
type: string
format: date-time
title: Last Update
created:
type: string
format: date-time
title: Created
type: object
required:
- id
- project
- access_level
- account_id
- account_email
- last_update
- created
title: ProjectAccessResponse
examples:
- access_level: EDITOR
account_email: user@example.com
account_id: auth0|5f00000000000000000000aa
created: '2026-06-25T10:13:37.546136Z'
id: ahFkZXZ-YXBpbWV0cmljcy1xY3IVCxIOQWNjb3VudFByb2plY3QYq0IM
last_update: '2026-06-25T10:13:37.597335Z'
project:
created: '2026-06-19T09:06:47.046143Z'
id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw
last_update: '2026-06-19T09:06:47.046170Z'
name: Project 1
org_id: apicontext
tags: []
CreateProjectAccessBody:
properties:
account_id:
anyOf:
- type: string
- type: 'null'
title: Account Id
description: The account to grant access to; defaults to the caller.
email:
anyOf:
- type: string
- type: 'null'
title: Email
description: Informational email for the account.
access_level:
anyOf:
- type: string
- type: 'null'
title: Access Level
description: Defaults to VIEWER.
type: object
title: CreateProjectAccessBody
examples:
- access_level: EDITOR
account_id: auth0|5f00000000000000000000aa
email: user@example.com
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
UpdateProjectAccessBody:
properties:
account_id:
anyOf:
- type: string
- type: 'null'
title: Account Id
email:
anyOf:
- type: string
- type: 'null'
title: Email
access_level:
anyOf:
- type: string
- type: 'null'
title: Access Level
type: object
title: UpdateProjectAccessBody
examples:
- access_level: OWNER
ProjectResponse:
properties:
id:
type: string
title: Id
name:
type: string
title: Name
org_id:
type: string
title: Org Id
tags:
items:
type: string
type: array
title: Tags
system_tags:
items:
type: string
type: array
title: System Tags
last_update:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Last Update
created:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Created
security_profile:
anyOf:
- type: string
- type: 'null'
title: Security Profile
email:
anyOf:
- type: string
- type: 'null'
title: Email
sub_info:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Sub Info
type: object
required:
- id
- name
- org_id
- tags
- system_tags
- last_update
- created
- security_profile
title: ProjectResponse
examples:
- created: '2026-06-19T09:06:47.046143Z'
id: ahFkZXZ-YXBpbWV0cmljcy1xY3ILCxIEVXNlchieQgw
last_update: '2026-06-19T09:06:47.046170Z'
name: Project 1
org_id: apicontext
sub_info:
counts:
org_test_run_count: 0
public_report_count: 0
scheduled_test_count: 288
test_setup_count: 4
user_test_run_count: 0
month_progress: 0.814
quotas:
public_report_quota: 10
test_run_quota: 1000000
test_setup_quota: 1000
sub:
backend: azure
level: CONTRACT
name: Enterprise
org_id: apicontext
plan: enterprise
tags: []
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
scopes:
openid: OpenID Connect identity
profile: User profile
email: User email address
authorizationUrl: https://auth.apimetrics.io/authorize?audience=https://client.apimetrics.io
tokenUrl: https://auth.apimetrics.io/oauth/token
ApiKey:
type: apiKey
in: header
name: X-Api-Key
x-provenance:
method: harvested
publisher: APIContext
source: https://client.apimetrics.io/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)