---
title: "Access & Onboarding Requests"
url: "https://nexora.apim.eu/apis/access-requests/versions/85552175-ec5d-4510-b24d-c293a66d9945"
---

# Access & Onboarding Requests

OpenAPI specification document.

```json
{"openapi":"3.0.3","info":{"title":"Access & Onboarding Requests","version":"1.0.0","description":"Accepts requests from internal teams to gain access to an agent, maintains\neach requester's capability profile and matches the two automatically.\nEvery request gets a traceable score, so that limited evaluation-session\nslots go to the right requests.\n\nRequest data is personal. Every record therefore carries a\n`retention_until`; once it passes, the record is anonymized overnight. A\ndeletion request is carried out immediately via `POST\n/requests/{id}/deletion`.\n","contact":{"name":"API Support - Nexora AI","email":"api-support@nexora.example"},"license":{"name":"For demonstration purposes only"}},"servers":[{"url":"https://api.nexora.example/v1","description":"Production"},{"url":"https://sandbox.api.nexora.example/v1","description":"Sandbox"}],"tags":[{"name":"Requests"},{"name":"Matching"}],"security":[{"apiKey":[]}],"paths":{"/requests":{"get":{"tags":["Requests"],"summary":"List access requests","operationId":"listRequests","parameters":[{"name":"capability_profile_active","in":"query","schema":{"type":"boolean"}},{"name":"status","in":"query","schema":{"$ref":"#/components/schemas/RequestStatus"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Results list","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AccessRequest"}},"page":{"$ref":"#/components/schemas/Page"}}}}}},"401":{"$ref":"#/components/responses/NotAuthenticated"}}},"post":{"tags":["Requests"],"summary":"Log an access request","description":"Typically called from the internal service catalog's request form.","operationId":"logRequest","security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestInput"},"example":{"requester_first_name":"Anna","requester_last_name":"Bergmann","email":"a.bergmann@nexora.example","business_unit":"Revenue Operations","consent":{"purpose":"access_grant","granted_at":"2026-08-18T10:22:00Z"},"requested_capability_profile":{"agent_categories":["copilot","workflow-agent"],"business_units":["Revenue Operations"],"min_integration_count":3,"max_cost_per_1k_tokens_usd":0.02,"requires_compliance_certification":true}}}}},"responses":{"201":{"description":"Logged","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequest"}}}},"400":{"$ref":"#/components/responses/ValidationError"}}}},"/requests/{requestId}":{"parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string","example":"req_71ab"}}],"get":{"tags":["Requests"],"summary":"Retrieve an access request","operationId":"getRequest","responses":{"200":{"description":"Access request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequest"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/requests/{requestId}/deletion":{"parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string","example":"req_71ab"}}],"post":{"tags":["Requests"],"summary":"Request deletion","description":"Carries out a data subject's rights request immediately. Personal\nfields are permanently removed; activity that must be retained for\naudit purposes remains pseudonymized.\n","operationId":"requestRequestDeletion","security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["reason"],"properties":{"reason":{"type":"string","enum":["data_subject_request","retention_expired","duplicate"]},"source":{"type":"string","example":"email dated 2026-08-18"}}}}}},"responses":{"202":{"description":"Deletion initiated","content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string"},"anonymized_at":{"type":"string","format":"date-time"}}}}}}}}},"/requests/{requestId}/score":{"parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string","example":"req_71ab"}}],"get":{"tags":["Matching"],"summary":"Retrieve an access request's score","description":"Shows how well the capability profile and the agent match - with the\nindividual criteria, so the rating stays traceable.\n","operationId":"getRequestScore","responses":{"200":{"description":"Score","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Score"},"example":{"request_id":"req_71ab","agent_id":"agt_8f2c1a","points":82,"rating":"high","criteria":[{"criterion":"budget_fit","met":true,"weight":30},{"criterion":"integration_compatibility","met":true,"weight":25},{"criterion":"business_unit_match","met":true,"weight":20},{"criterion":"compliance_alignment","met":false,"weight":25}]}}}}}}},"/matching/agents/{agentId}":{"parameters":[{"name":"agentId","in":"path","required":true,"schema":{"type":"string","example":"agt_8f2c1a"}}],"get":{"tags":["Matching"],"summary":"Matching access requests for an agent","description":"Returns requests with a matching capability profile, sorted descending by score.","operationId":"matchingAgents","parameters":[{"name":"min_points","in":"query","schema":{"type":"integer","minimum":0,"maximum":100,"default":60}}],"responses":{"200":{"description":"Results","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Score"}}}}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"apikey","description":"Every call carries an API key in the `apikey` header. You generate the\nkey in the Nexora AI portal under \"My Apps\"; it's shown exactly once.\n\nEach key has the scopes it's allowed to use attached to it. If one is\nmissing, the API responds with `403` and `code: \"scope_missing\"`; the\nmissing scope is in `details[].field`.\n"}},"responses":{"NotAuthenticated":{"description":"Key is missing, revoked or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Record not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ValidationError":{"description":"The request doesn't match the schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"Rate limit reached","headers":{"Retry-After":{"schema":{"type":"integer","example":12}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Page":{"type":"object","description":"Cursor-based pagination.","properties":{"count":{"type":"integer","example":25},"total":{"type":"integer","example":138},"next_cursor":{"type":"string","nullable":true,"example":"eyJzIjoyNX0"}}},"ErrorDetail":{"type":"object","properties":{"field":{"type":"string","example":"consent.purpose"},"reason":{"type":"string","example":"missing"}}},"Error":{"type":"object","description":"Uniform error format across all Nexora AI APIs.","required":["code","message"],"properties":{"code":{"type":"string","example":"validation_failed"},"message":{"type":"string","example":"Consent is required to log an access request."},"details":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetail"}}}},"RequestStatus":{"type":"string","enum":["new","scored","invited","declined","closed"],"example":"scored"},"Consent":{"type":"object","description":"Record of consent under applicable data protection policy.","required":["purpose","granted_at"],"properties":{"purpose":{"type":"string","enum":["access_grant","product_updates"]},"granted_at":{"type":"string","format":"date-time","example":"2026-08-18T10:22:00Z"},"revoked_at":{"type":"string","format":"date-time","nullable":true,"example":null}}},"CapabilityProfile":{"type":"object","properties":{"agent_categories":{"type":"array","items":{"type":"string","enum":["copilot","autonomous-agent","workflow-agent","rag-assistant","voice-agent"]}},"business_units":{"type":"array","items":{"type":"string","example":"Revenue Operations"}},"min_integration_count":{"type":"number","format":"float","example":3},"min_tool_count":{"type":"number","format":"float","example":2},"max_cost_per_1k_tokens_usd":{"type":"number","format":"float","example":0.02},"max_monthly_budget_usd":{"type":"integer","example":4000},"requires_compliance_certification":{"type":"boolean","example":true}}},"AccessRequestInput":{"type":"object","required":["requester_last_name","email","consent"],"properties":{"requester_first_name":{"type":"string","example":"Anna"},"requester_last_name":{"type":"string","example":"Bergmann"},"email":{"type":"string","format":"email","example":"a.bergmann@nexora.example"},"business_unit":{"type":"string","example":"Revenue Operations"},"consent":{"$ref":"#/components/schemas/Consent"},"requested_capability_profile":{"$ref":"#/components/schemas/CapabilityProfile"}}},"AccessRequest":{"allOf":[{"$ref":"#/components/schemas/AccessRequestInput"},{"type":"object","properties":{"id":{"type":"string","example":"req_71ab"},"status":{"$ref":"#/components/schemas/RequestStatus"},"retention_until":{"type":"string","format":"date","description":"Automatically set deletion deadline. Anonymized after it passes.","example":"2027-02-18"},"created_at":{"type":"string","format":"date-time","example":"2026-08-18T10:22:04Z"}}}]},"Criterion":{"type":"object","properties":{"criterion":{"type":"string","example":"budget_fit"},"met":{"type":"boolean","example":true},"weight":{"type":"integer","example":30}}},"Score":{"type":"object","properties":{"request_id":{"type":"string","example":"req_71ab"},"agent_id":{"type":"string","example":"agt_8f2c1a"},"points":{"type":"integer","minimum":0,"maximum":100,"example":82},"rating":{"type":"string","enum":["low","medium","high"]},"criteria":{"type":"array","items":{"$ref":"#/components/schemas/Criterion"}}}}}}}
```
